Modernize Cloudflare Terraform#112
Conversation
👋 Thanks for opening a pull request!If you are new, please check out the deployment process to understand how to deploy this pull request. A trimmed down summary will be listed below:
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T04:11:17.150Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26863184645"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "adaee160e7ecb4bad3eab90e415988644f973a44",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/adaee160e7ecb4bad3eab90e415988644f973a44"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T04:10:57Z",
"updated_at": "2026-06-03T04:10:57Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4608995445"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ❌GrantBirki your noop deployment of Show Resultscloudflare_ruleset.config_settings: Preparing import... [id=zones/a17204c79af55fcf05e4975f66e2490e/3281ba33c9f2467b883d5c6d7c56b193]
cloudflare_dns_record.google_site_verification_secondary: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/89bec1871df3f8f5e50d401fa0b0fd36]
cloudflare_dns_record.mx_route1: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/7625de5f554e0e658aed55659635cbb0]
cloudflare_workers_kv_namespace.data_cache: Preparing import... [id=424ad63426a1ae47d559873f929eb9fc/2e6feba88a9e4097b6d2209191ed4ae5]
cloudflare_dns_record.bot4: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/d3a2d112399341fce65ea420adcaa80b]
cloudflare_dns_record.bot1: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/57ddf83228d6b908cc974e1d6a4334d7]
cloudflare_dns_record.mx_route3: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/57c4c2b158f49abd11a5b52fa67c534d]
cloudflare_dns_record.google_site_verification_tertiary: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/951e736350441ea97ea3016e78515985]
cloudflare_dns_record.dkim_cf2024_1: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/05c236d38f74b1a5054469913da7b34d]
cloudflare_dns_record.mx_route2: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/a4adecc1f10035cd91c839e2a2b85c48]
cloudflare_dns_record.spf: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/98f534f6b422f5dfe21626b0725b534d]
cloudflare_workers_kv_namespace.data_cache_dev: Preparing import... [id=424ad63426a1ae47d559873f929eb9fc/17fd725f04984e408d4a70b37c817171]
cloudflare_workers_kv_namespace.stash_data: Preparing import... [id=424ad63426a1ae47d559873f929eb9fc/7bee8f5b2e4e4cca9db96a0887b8b534]
cloudflare_dns_record.bot2: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/10b43d2c5e36e96b28392d59a9da5a14]
cloudflare_dns_record.bot3: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/0b50edf9813223aa41810a7074de3bda]
cloudflare_dns_record.google_site_verification_primary: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/94683a5bf074ceb7048fa9b9c49e2f4a]
cloudflare_dns_record.railway_verify_socket: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/ed6c9d4fcebe96ed85ec3ba2e4ab97fd]
cloudflare_ruleset.custom_errors: Preparing import... [id=zones/a17204c79af55fcf05e4975f66e2490e/6c16d15fb4d243d1a94734ad0ea2620b]
cloudflare_dns_record.bot0: Preparing import... [id=a17204c79af55fcf05e4975f66e2490e/a7b40fabb2884700f5bc729f8ea279e2]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform planned the following actions, but then encountered a problem:
# cloudflare_dns_record.bot0 will be imported
resource "cloudflare_dns_record" "bot0" {
content = "9d9155e2-3ee5-4021-a097-3a78ac5a8409.cfargotunnel.com"
created_on = "2025-04-03T17:07:16Z"
id = "a7b40fabb2884700f5bc729f8ea279e2"
meta = jsonencode({})
modified_on = "2025-04-03T17:07:16Z"
name = "bot0.tarkov.dev"
proxiable = true
proxied = true
settings = {
flatten_cname = false
ipv4_only = false
ipv6_only = false
}
tags = []
ttl = 1
type = "CNAME"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot1 will be imported
resource "cloudflare_dns_record" "bot1" {
content = "6f3cafef-e8b3-418b-b9c5-7593919fb082.cfargotunnel.com"
created_on = "2025-04-02T14:50:45Z"
id = "57ddf83228d6b908cc974e1d6a4334d7"
meta = jsonencode({})
modified_on = "2025-04-02T14:50:45Z"
name = "bot1.tarkov.dev"
proxiable = true
proxied = true
settings = {
flatten_cname = false
ipv4_only = false
ipv6_only = false
}
tags = []
ttl = 1
type = "CNAME"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot2 will be imported
resource "cloudflare_dns_record" "bot2" {
content = "a1a1f356-20e1-4e25-ae65-1fd40375a4a0.cfargotunnel.com"
created_on = "2025-04-04T11:19:58Z"
id = "10b43d2c5e36e96b28392d59a9da5a14"
meta = jsonencode({})
modified_on = "2025-04-04T11:19:58Z"
name = "bot2.tarkov.dev"
proxiable = true
proxied = true
settings = {
flatten_cname = false
ipv4_only = false
ipv6_only = false
}
tags = []
ttl = 1
type = "CNAME"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot3 will be imported
resource "cloudflare_dns_record" "bot3" {
content = "80415cb0-98cc-49ac-a07a-78b71168579c.cfargotunnel.com"
created_on = "2025-04-04T14:22:29Z"
id = "0b50edf9813223aa41810a7074de3bda"
meta = jsonencode({})
modified_on = "2025-04-04T14:22:29Z"
name = "bot3.tarkov.dev"
proxiable = true
proxied = true
settings = {
flatten_cname = false
ipv4_only = false
ipv6_only = false
}
tags = []
ttl = 1
type = "CNAME"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot4 will be imported
resource "cloudflare_dns_record" "bot4" {
content = "f9d2e31c-e2d0-4b45-bd5c-50423292d60a.cfargotunnel.com"
created_on = "2025-04-04T14:24:41Z"
id = "d3a2d112399341fce65ea420adcaa80b"
meta = jsonencode({})
modified_on = "2025-04-04T14:24:41Z"
name = "bot4.tarkov.dev"
proxiable = true
proxied = true
settings = {
flatten_cname = false
ipv4_only = false
ipv6_only = false
}
tags = []
ttl = 1
type = "CNAME"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.dkim_cf2024_1 will be imported
resource "cloudflare_dns_record" "dkim_cf2024_1" {
content = "\"v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiweykoi+o48IOGuP7GR3X0MOExCUDY/BCRHoWBnh3rChl7WhdyCxW3jgq1daEjPPqoi7sJvdg5hEQVsgVRQP4DcnQDVjGMbASQtrY4WmB1VebF+RPJB2ECPsEDTpeiI5ZyUAwJaVX7r6bznU67g7LvFq35yIo4sdlmtZGV+i0H4cpYH9+3JJ78k\" \"m4KXwaf9xUJCWF6nxeD+qG6Fyruw1Qlbds2r85U9dkNDVAS3gioCvELryh1TxKGiVTkg4wqHTyHfWsp7KD3WQHYJn0RyfJJu6YEmL77zonn7p2SRMvTMP3ZEXibnC9gz3nnhR6wcYL8Q7zXypKTMD58bTixDSJwIDAQAB\""
created_on = "2025-03-13T12:41:16Z"
id = "05c236d38f74b1a5054469913da7b34d"
meta = jsonencode(
{
email_routing = true
read_only = true
}
)
modified_on = "2025-03-13T12:41:16Z"
name = "cf2024-1._domainkey.tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_primary will be imported
resource "cloudflare_dns_record" "google_site_verification_primary" {
content = "google-site-verification=ynS4YwsVQK-m34NgKErmdJKL0rIykucxyFJjM-In6RI"
created_on = "2024-01-16T20:53:27Z"
id = "94683a5bf074ceb7048fa9b9c49e2f4a"
meta = jsonencode({})
modified_on = "2024-01-16T20:53:27Z"
name = "tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 3600
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_secondary will be imported
resource "cloudflare_dns_record" "google_site_verification_secondary" {
content = "google-site-verification=ociH_8-A27BdUGbgdFW3bFeSUKkYM-1WIzpc3Yrouj8"
created_on = "2023-09-22T09:43:35Z"
id = "89bec1871df3f8f5e50d401fa0b0fd36"
meta = jsonencode({})
modified_on = "2023-09-22T09:43:35Z"
name = "tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 3600
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_tertiary will be imported
resource "cloudflare_dns_record" "google_site_verification_tertiary" {
content = "google-site-verification=lWaLn42vZ_DRR_kVCouHYJeurjfCVa6cyJuSPuX0_yc"
created_on = "2022-11-13T21:38:41Z"
id = "951e736350441ea97ea3016e78515985"
meta = jsonencode({})
modified_on = "2022-11-13T21:38:41Z"
name = "tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route1 will be imported
resource "cloudflare_dns_record" "mx_route1" {
content = "route1.mx.cloudflare.net"
created_on = "2022-12-28T21:15:35Z"
id = "7625de5f554e0e658aed55659635cbb0"
meta = jsonencode(
{
email_routing = true
read_only = true
}
)
modified_on = "2022-12-28T21:15:35Z"
name = "tarkov.dev"
priority = 98
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "MX"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route2 will be imported
resource "cloudflare_dns_record" "mx_route2" {
content = "route2.mx.cloudflare.net"
created_on = "2022-12-28T21:15:35Z"
id = "a4adecc1f10035cd91c839e2a2b85c48"
meta = jsonencode(
{
email_routing = true
read_only = true
}
)
modified_on = "2022-12-28T21:15:35Z"
name = "tarkov.dev"
priority = 34
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "MX"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route3 will be imported
resource "cloudflare_dns_record" "mx_route3" {
content = "route3.mx.cloudflare.net"
created_on = "2022-12-28T21:15:35Z"
id = "57c4c2b158f49abd11a5b52fa67c534d"
meta = jsonencode(
{
email_routing = true
read_only = true
}
)
modified_on = "2022-12-28T21:15:35Z"
name = "tarkov.dev"
priority = 29
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "MX"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.railway_verify_socket will be imported
resource "cloudflare_dns_record" "railway_verify_socket" {
content = "\"railway-verify=2134678b9d3fde0c6a1b7f03560597e57d1b94d3980501f7edcb6a4b76b1db03\""
created_on = "2026-02-21T14:11:28Z"
id = "ed6c9d4fcebe96ed85ec3ba2e4ab97fd"
meta = jsonencode({})
modified_on = "2026-02-21T14:11:28Z"
name = "_railway-verify.socket.tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 3600
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.spf will be imported
resource "cloudflare_dns_record" "spf" {
content = "v=spf1 include:_spf.mx.cloudflare.net ~all"
created_on = "2022-12-28T21:15:35Z"
id = "98f534f6b422f5dfe21626b0725b534d"
meta = jsonencode({})
modified_on = "2022-12-28T21:15:35Z"
name = "tarkov.dev"
proxiable = false
proxied = false
settings = {}
tags = []
ttl = 1
type = "TXT"
zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- browser_ttl = {
- default = 31536000 -> null
- mode = "override_origin" -> null
} -> null
- edge_ttl = {
- default = 31536000 -> null
- mode = "override_origin" -> null
} -> null
# (1 unchanged attribute hidden)
}
~ description = "favicon" -> "cache service"
~ expression = "(http.request.uri.path contains \"/favicon\")" -> "(http.host eq \"cache.tarkov.dev\")"
~ id = "9c49b66c3e814dbfa6281cb03cb5ffff" -> (known after apply)
+ logging = (known after apply)
~ ref = "9c49b66c3e814dbfa6281cb03cb5ffff" -> "cache_service"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ browser_ttl = {
~ default = 345600 -> 120
# (1 unchanged attribute hidden)
}
- cache = true -> null
- edge_ttl = {
- default = 31536000 -> null
- mode = "override_origin" -> null
} -> null
}
~ description = "logo" -> "status service browser cache"
~ expression = "(http.request.uri.path contains \"tarkov-dev-logo\")" -> "(http.host eq \"status.tarkov.dev\")"
~ id = "eaa54486c6c74c8b83c04b0694e861e2" -> (known after apply)
+ logging = (known after apply)
~ ref = "eaa54486c6c74c8b83c04b0694e861e2" -> "status_services"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- browser_ttl = {
- default = 28800 -> null
- mode = "override_origin" -> null
} -> null
- edge_ttl = {
- default = 16070400 -> null
- mode = "override_origin" -> null
} -> null
# (1 unchanged attribute hidden)
}
~ description = "fonts" -> "status custom cache"
~ expression = "(http.request.uri.path contains \"/fonts/\")" -> "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
~ id = "a0d4586d52c14dfc832c5fd90263a131" -> (known after apply)
+ logging = (known after apply)
~ ref = "a0d4586d52c14dfc832c5fd90263a131" -> "status_custom_cache"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ browser_ttl = {
~ default = 345600 -> 86400
# (1 unchanged attribute hidden)
}
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
~ edge_ttl = {
~ default = 604800 -> 86400
# (1 unchanged attribute hidden)
}
# (1 unchanged attribute hidden)
}
~ description = "jpg or png images on all domains" -> "tarkov.dev data json"
~ expression = "(ends_with(http.request.uri.path, \".jpg\")) or (ends_with(http.request.uri.path, \".png\"))" -> "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
~ id = "2e7ab840d50147fba0a5f2ae6e08c136" -> (known after apply)
+ logging = (known after apply)
~ ref = "2e7ab840d50147fba0a5f2ae6e08c136" -> "data_json"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ browser_ttl = {
~ default = 604800 -> 31536000
# (1 unchanged attribute hidden)
}
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
~ edge_ttl = {
~ default = 16070400 -> 2419200
# (1 unchanged attribute hidden)
}
# (1 unchanged attribute hidden)
}
~ description = "tarkov.dev images dir" -> "tarkov.dev fonts"
~ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")" -> "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
~ id = "52f2a779941244c387da27ca37ae4e3c" -> (known after apply)
+ logging = (known after apply)
~ ref = "52f2a779941244c387da27ca37ae4e3c" -> "fonts_page_rule"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ browser_ttl = {
~ default = 604800 -> 31536000
# (1 unchanged attribute hidden)
}
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
~ edge_ttl = {
~ default = 2678400 -> 2419200
# (1 unchanged attribute hidden)
}
# (1 unchanged attribute hidden)
}
~ description = "assets domain caching" -> "tarkov.dev images"
~ expression = "(http.host eq \"assets.tarkov.dev\")" -> "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
~ id = "e33636211eac48a79e684cd75f1e0425" -> (known after apply)
+ logging = (known after apply)
~ ref = "e33636211eac48a79e684cd75f1e0425" -> "images_page_rule"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ browser_ttl = {
~ default = 86400 -> 31536000
# (1 unchanged attribute hidden)
}
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
~ edge_ttl = {
~ default = 2678400 -> 31536000
# (1 unchanged attribute hidden)
}
# (1 unchanged attribute hidden)
}
~ description = "players domain caching" -> "favicon"
~ expression = "(http.host eq \"players.tarkov.dev\")" -> "(http.request.uri.path contains \"/favicon\")"
~ id = "ee8bbe239ef643978022b0b3ff51dea7" -> "9c49b66c3e814dbfa6281cb03cb5ffff"
~ ref = "ee8bbe239ef643978022b0b3ff51dea7" -> "9c49b66c3e814dbfa6281cb03cb5ffff"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
+ browser_ttl = {
+ default = 345600
+ mode = "override_origin"
}
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {
- all = true -> null
} -> null
} -> null
} -> null
} -> null
~ edge_ttl = {
~ default = 2678400 -> 31536000
# (1 unchanged attribute hidden)
}
# (1 unchanged attribute hidden)
}
~ description = "JSON API" -> "logo"
~ expression = "(http.host in {\"json-dev.tarkov.dev\" \"json.tarkov.dev\"})" -> "(http.request.uri.path contains \"tarkov-dev-logo\")"
~ id = "41bc28aa7bd14f0fae4ec79482aec843" -> "eaa54486c6c74c8b83c04b0694e861e2"
~ ref = "41bc28aa7bd14f0fae4ec79482aec843" -> "eaa54486c6c74c8b83c04b0694e861e2"
# (2 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 28800
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "fonts"
+ enabled = true
+ expression = "(http.request.uri.path contains \"/fonts/\")"
+ id = "a0d4586d52c14dfc832c5fd90263a131"
+ ref = "a0d4586d52c14dfc832c5fd90263a131"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 345600
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 604800
+ mode = "override_origin"
}
}
+ description = "jpg or png images on all domains"
+ enabled = true
+ expression = "(ends_with(http.request.uri.path, \".jpg\")) or (ends_with(http.request.uri.path, \".png\"))"
+ id = "2e7ab840d50147fba0a5f2ae6e08c136"
+ ref = "2e7ab840d50147fba0a5f2ae6e08c136"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 604800
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images dir"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = "52f2a779941244c387da27ca37ae4e3c"
+ ref = "52f2a779941244c387da27ca37ae4e3c"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 604800
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2678400
+ mode = "override_origin"
}
}
+ description = "assets domain caching"
+ enabled = true
+ expression = "(http.host eq \"assets.tarkov.dev\")"
+ id = "e33636211eac48a79e684cd75f1e0425"
+ ref = "e33636211eac48a79e684cd75f1e0425"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2678400
+ mode = "override_origin"
}
}
+ description = "players domain caching"
+ enabled = true
+ expression = "(http.host eq \"players.tarkov.dev\")"
+ id = "ee8bbe239ef643978022b0b3ff51dea7"
+ ref = "ee8bbe239ef643978022b0b3ff51dea7"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
+ cache_key = {
+ custom_key = {
+ query_string = {
+ exclude = {
+ all = true
}
}
}
}
+ edge_ttl = {
+ default = 2678400
+ mode = "override_origin"
}
}
+ description = "JSON API"
+ enabled = true
+ expression = "(http.host in {\"json.tarkov.dev\" \"json-dev.tarkov.dev\"})"
+ id = "41bc28aa7bd14f0fae4ec79482aec843"
+ ref = "41bc28aa7bd14f0fae4ec79482aec843"
},
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
~ from_value = {
~ preserve_query_string = true -> false
~ status_code = 308 -> 301
~ target_url = {
~ value = "https://dev-api.tarkov.dev/graphql" -> "https://tarkov.dev"
}
}
}
~ description = "Streamer domain graphql requests (dev)" -> "Redirect www to apex"
~ expression = "(starts_with(http.request.full_uri, \"https://dev-streamer.tarkov.dev/graphql\"))" -> "(http.host eq \"www.tarkov.dev\")"
~ id = "9525c3e2b4f1428592ba8070306cbce8" -> (known after apply)
+ logging = (known after apply)
~ ref = "9525c3e2b4f1428592ba8070306cbce8" -> "www_redirect"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ from_value = {
~ target_url = {
~ value = "https://api.tarkov.dev/graphql" -> "https://dev-api.tarkov.dev/graphql"
}
# (2 unchanged attributes hidden)
}
}
~ description = "Streamer domain graphql requests" -> "Streamer domain graphql requests (dev)"
~ expression = "(starts_with(http.request.full_uri, \"https://streamer.tarkov.dev/graphql\"))" -> "(starts_with(http.request.full_uri, \"https://dev-streamer.tarkov.dev/graphql\"))"
~ id = "e724c8da45da411aa54cf351b49bbbf2" -> "9525c3e2b4f1428592ba8070306cbce8"
~ ref = "e724c8da45da411aa54cf351b49bbbf2" -> "9525c3e2b4f1428592ba8070306cbce8"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ from_value = {
~ preserve_query_string = false -> true
~ status_code = 301 -> 308
~ target_url = {
~ value = "https://dev-api.tarkov.dev/___graphql" -> "https://api.tarkov.dev/graphql"
}
}
}
~ description = "Playground root to /___graphql (dev)" -> "Streamer domain graphql requests"
~ enabled = false -> true
~ expression = "(http.request.full_uri eq \"https://dev-api.tarkov.dev/\")" -> "(starts_with(http.request.full_uri, \"https://streamer.tarkov.dev/graphql\"))"
~ id = "582c2372ff22461d8a3e9e6cc8fe41a6" -> "e724c8da45da411aa54cf351b49bbbf2"
~ ref = "582c2372ff22461d8a3e9e6cc8fe41a6" -> "e724c8da45da411aa54cf351b49bbbf2"
# (1 unchanged attribute hidden)
},
~ {
~ action_parameters = {
~ from_value = {
~ target_url = {
~ value = "https://api.tarkov.dev/___graphql" -> "https://dev-api.tarkov.dev/___graphql"
}
# (2 unchanged attributes hidden)
}
}
~ description = "Playground root to /___graphql" -> "Playground root to /___graphql (dev)"
~ expression = "(http.request.full_uri eq \"https://api.tarkov.dev/\")" -> "(http.request.full_uri eq \"https://dev-api.tarkov.dev/\")"
~ id = "4c99e6c4e1894cb6b003b47bab83b7e6" -> "582c2372ff22461d8a3e9e6cc8fe41a6"
~ ref = "4c99e6c4e1894cb6b003b47bab83b7e6" -> "582c2372ff22461d8a3e9e6cc8fe41a6"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ from_value = {
~ preserve_query_string = true -> false
~ status_code = 308 -> 301
~ target_url = {
~ value = "https://manager.tarkov.dev/api/queue" -> "https://api.tarkov.dev/___graphql"
}
}
}
~ description = "Monitor API to Data Manager API" -> "Playground root to /___graphql"
~ enabled = true -> false
~ expression = "(starts_with(http.request.full_uri, \"https://monitor.tarkov.dev/api\"))" -> "(http.request.full_uri eq \"https://api.tarkov.dev/\")"
~ id = "19a5d2d78bf54d0588ca127f290b3b06" -> "4c99e6c4e1894cb6b003b47bab83b7e6"
~ ref = "19a5d2d78bf54d0588ca127f290b3b06" -> "4c99e6c4e1894cb6b003b47bab83b7e6"
# (1 unchanged attribute hidden)
},
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = true
+ status_code = 308
+ target_url = {
+ value = "https://manager.tarkov.dev/api/queue"
}
}
}
+ description = "Monitor API to Data Manager API"
+ enabled = true
+ expression = "(starts_with(http.request.full_uri, \"https://monitor.tarkov.dev/api\"))"
+ id = "19a5d2d78bf54d0588ca127f290b3b06"
+ ref = "19a5d2d78bf54d0588ca127f290b3b06"
},
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 14 to import, 0 to add, 2 to change, 9 to destroy.
::error::Terraform exited with code 1.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T04:27:57.042Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26863691928"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "1dc9b8e2102d4e0161aa830dc9d4be33c85bc776",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/1dc9b8e2102d4e0161aa830dc9d4be33c85bc776"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T04:27:43Z",
"updated_at": "2026-06-03T04:27:43Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609062489"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_dns_record.bot0 will be created
+ resource "cloudflare_dns_record" "bot0" {
+ content = "9d9155e2-3ee5-4021-a097-3a78ac5a8409.cfargotunnel.com"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "bot0"
+ proxiable = (known after apply)
+ proxied = true
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "CNAME"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot1 will be created
+ resource "cloudflare_dns_record" "bot1" {
+ content = "6f3cafef-e8b3-418b-b9c5-7593919fb082.cfargotunnel.com"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "bot1"
+ proxiable = (known after apply)
+ proxied = true
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "CNAME"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot2 will be created
+ resource "cloudflare_dns_record" "bot2" {
+ content = "a1a1f356-20e1-4e25-ae65-1fd40375a4a0.cfargotunnel.com"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "bot2"
+ proxiable = (known after apply)
+ proxied = true
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "CNAME"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot3 will be created
+ resource "cloudflare_dns_record" "bot3" {
+ content = "80415cb0-98cc-49ac-a07a-78b71168579c.cfargotunnel.com"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "bot3"
+ proxiable = (known after apply)
+ proxied = true
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "CNAME"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.bot4 will be created
+ resource "cloudflare_dns_record" "bot4" {
+ content = "f9d2e31c-e2d0-4b45-bd5c-50423292d60a.cfargotunnel.com"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "bot4"
+ proxiable = (known after apply)
+ proxied = true
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "CNAME"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.dkim_cf2024_1 will be created
+ resource "cloudflare_dns_record" "dkim_cf2024_1" {
+ content = "\"v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiweykoi+o48IOGuP7GR3X0MOExCUDY/BCRHoWBnh3rChl7WhdyCxW3jgq1daEjPPqoi7sJvdg5hEQVsgVRQP4DcnQDVjGMbASQtrY4WmB1VebF+RPJB2ECPsEDTpeiI5ZyUAwJaVX7r6bznU67g7LvFq35yIo4sdlmtZGV+i0H4cpYH9+3JJ78k\" \"m4KXwaf9xUJCWF6nxeD+qG6Fyruw1Qlbds2r85U9dkNDVAS3gioCvELryh1TxKGiVTkg4wqHTyHfWsp7KD3WQHYJn0RyfJJu6YEmL77zonn7p2SRMvTMP3ZEXibnC9gz3nnhR6wcYL8Q7zXypKTMD58bTixDSJwIDAQAB\""
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "cf2024-1._domainkey"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_primary will be created
+ resource "cloudflare_dns_record" "google_site_verification_primary" {
+ content = "google-site-verification=ynS4YwsVQK-m34NgKErmdJKL0rIykucxyFJjM-In6RI"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 3600
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_secondary will be created
+ resource "cloudflare_dns_record" "google_site_verification_secondary" {
+ content = "google-site-verification=ociH_8-A27BdUGbgdFW3bFeSUKkYM-1WIzpc3Yrouj8"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 3600
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.google_site_verification_tertiary will be created
+ resource "cloudflare_dns_record" "google_site_verification_tertiary" {
+ content = "google-site-verification=lWaLn42vZ_DRR_kVCouHYJeurjfCVa6cyJuSPuX0_yc"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route1 will be created
+ resource "cloudflare_dns_record" "mx_route1" {
+ content = "route1.mx.cloudflare.net"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ priority = 98
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "MX"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route2 will be created
+ resource "cloudflare_dns_record" "mx_route2" {
+ content = "route2.mx.cloudflare.net"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ priority = 34
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "MX"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.mx_route3 will be created
+ resource "cloudflare_dns_record" "mx_route3" {
+ content = "route3.mx.cloudflare.net"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ priority = 29
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "MX"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.railway_verify_socket will be created
+ resource "cloudflare_dns_record" "railway_verify_socket" {
+ content = "\"railway-verify=2134678b9d3fde0c6a1b7f03560597e57d1b94d3980501f7edcb6a4b76b1db03\""
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "_railway-verify.socket"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 3600
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_dns_record.spf will be created
+ resource "cloudflare_dns_record" "spf" {
+ content = "v=spf1 include:_spf.mx.cloudflare.net ~all"
+ created_on = (known after apply)
+ id = (known after apply)
+ meta = (known after apply)
+ modified_on = (known after apply)
+ name = "tarkov.dev"
+ proxiable = (known after apply)
+ proxied = false
+ settings = (known after apply)
+ tags = (known after apply)
+ tags_modified_on = (known after apply)
+ ttl = 1
+ type = "TXT"
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
~ {
~ expression = "(http.host in {\"json-dev.tarkov.dev\" \"json.tarkov.dev\"})" -> "(http.host in {\"json.tarkov.dev\" \"json-dev.tarkov.dev\"})"
id = "41bc28aa7bd14f0fae4ec79482aec843"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (3 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be created
+ resource "cloudflare_ruleset" "config_settings" {
+ description = ""
+ id = (known after apply)
+ kind = "zone"
+ last_updated = (known after apply)
+ name = "default"
+ phase = "http_config_settings"
+ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
]
+ version = (known after apply)
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_ruleset.custom_errors will be created
+ resource "cloudflare_ruleset" "custom_errors" {
+ description = ""
+ id = (known after apply)
+ kind = "zone"
+ last_updated = (known after apply)
+ name = "default"
+ phase = "http_custom_errors"
+ rules = []
+ version = (known after apply)
+ zone_id = "a17204c79af55fcf05e4975f66e2490e"
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 16 to add, 2 to change, 9 to destroy.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T04:40:54.204Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26864103034"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "051500be527c4d3955b6b98dc7fa3ec8afe7a9e4",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/051500be527c4d3955b6b98dc7fa3ec8afe7a9e4"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T04:40:41Z",
"updated_at": "2026-06-03T04:40:41Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609125589"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (4 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
# (2 unchanged elements hidden)
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 3 to change, 9 to destroy.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T04:51:10.795Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26864428998"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "e49dc91495636e6c689bdd5360ff3276536e3c54",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/e49dc91495636e6c689bdd5360ff3276536e3c54"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T04:50:51Z",
"updated_at": "2026-06-03T04:50:51Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609178442"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 2419200
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (4 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
# (2 unchanged elements hidden)
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 3 to change, 9 to destroy.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T05:02:15.644Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26864786780"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "4f596f15861e692283f0dc651a3c7560ed3ff868",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/4f596f15861e692283f0dc651a3c7560ed3ff868"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T05:01:57Z",
"updated_at": "2026-06-03T05:01:57Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609232656"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (4 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
# (2 unchanged elements hidden)
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 3 to change, 9 to destroy.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T05:08:56.601Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26864993069"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "f3cea70efcc04a0b33439e94eb2a89a18ab43a13",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/f3cea70efcc04a0b33439e94eb2a89a18ab43a13"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T05:08:36Z",
"updated_at": "2026-06-03T05:08:36Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609265370"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (4 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
# (2 unchanged elements hidden)
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 3 to change, 9 to destroy.
|
|
.deploy |
Deployment Triggered 🚀GrantBirki, started a branch deployment to production (branch: You can watch the progress here 🔗 Details{
"type": "branch",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T05:11:15.843Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26865070220"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "f3cea70efcc04a0b33439e94eb2a89a18ab43a13",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/f3cea70efcc04a0b33439e94eb2a89a18ab43a13"
},
"context": {
"actor": "GrantBirki",
"noop": false,
"fork": false,
"comment": {
"created_at": "2026-06-03T05:11:00Z",
"updated_at": "2026-06-03T05:11:00Z",
"body": ".deploy",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609276194"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ❌GrantBirki your branch deployment of Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
Terraform will perform the following actions:
# cloudflare_page_rule.cache_service will be destroyed
# (because cloudflare_page_rule.cache_service is not in configuration)
- resource "cloudflare_page_rule" "cache_service" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-12T00:17:23Z" -> null
- id = "d3fc85e128cfc8b26eb4d22f2a3f7ea5" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 2 -> null
- status = "active" -> null
- target = "cache.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.data_json will be destroyed
# (because cloudflare_page_rule.data_json is not in configuration)
- resource "cloudflare_page_rule" "data_json" {
- actions = {
- browser_cache_ttl = 86400 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 86400 -> null
} -> null
- created_on = "2022-06-25T02:09:09Z" -> null
- id = "8965e35400084b17c7139d0edcfbdf01" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 6 -> null
- status = "active" -> null
- target = "tarkov.dev/data/*.json" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.fonts will be destroyed
# (because cloudflare_page_rule.fonts is not in configuration)
- resource "cloudflare_page_rule" "fonts" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:12:55Z" -> null
- id = "ab4d1f4c56672ae225bdb63685501864" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 7 -> null
- status = "active" -> null
- target = "tarkov.dev/fonts/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.images will be destroyed
# (because cloudflare_page_rule.images is not in configuration)
- resource "cloudflare_page_rule" "images" {
- actions = {
- browser_cache_ttl = 31536000 -> null
- cache_level = "cache_everything" -> null
- edge_cache_ttl = 2678400 -> null
} -> null
- created_on = "2022-06-25T02:13:55Z" -> null
- id = "72723f104b4316bd4e6c33203b606b4c" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 8 -> null
- status = "active" -> null
- target = "tarkov.dev/images/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.manager_service will be destroyed
# (because cloudflare_page_rule.manager_service is not in configuration)
- resource "cloudflare_page_rule" "manager_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T22:23:17Z" -> null
- id = "fe81e8e9c9fb30d44484cfcd600d2976" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 5 -> null
- status = "active" -> null
- target = "manager.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.socket_service will be destroyed
# (because cloudflare_page_rule.socket_service is not in configuration)
- resource "cloudflare_page_rule" "socket_service" {
- actions = {
- ssl = "strict" -> null
} -> null
- created_on = "2022-08-27T17:03:32Z" -> null
- id = "c0ee007ef9d254825dba03239022572f" -> null
- modified_on = "2022-08-27T17:03:32Z" -> null
- priority = 9 -> null
- status = "active" -> null
- target = "socket.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_custom_cache will be destroyed
# (because cloudflare_page_rule.status_custom_cache is not in configuration)
- resource "cloudflare_page_rule" "status_custom_cache" {
- actions = {
- cache_level = "cache_everything" -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-07-10T18:36:44Z" -> null
- id = "9719ec8cc18c7947863c93bda58d409d" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 4 -> null
- status = "active" -> null
- target = "status.tarkov.dev/api/status-page/heartbeat/api" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.status_services will be destroyed
# (because cloudflare_page_rule.status_services is not in configuration)
- resource "cloudflare_page_rule" "status_services" {
- actions = {
- browser_cache_ttl = 120 -> null
- ssl = "strict" -> null
} -> null
- created_on = "2022-06-17T03:14:51Z" -> null
- id = "bf9bffb9e7a99924f271bff26fb871cf" -> null
- modified_on = "2022-08-17T15:42:39Z" -> null
- priority = 3 -> null
- status = "active" -> null
- target = "status.tarkov.dev/*" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_page_rule.www_redirect will be destroyed
# (because cloudflare_page_rule.www_redirect is not in configuration)
- resource "cloudflare_page_rule" "www_redirect" {
- actions = {
- forwarding_url = {
- status_code = 301 -> null
- url = "https://tarkov.dev" -> null
} -> null
} -> null
- created_on = "2022-08-17T15:36:59Z" -> null
- id = "272eb1d91c4a29cc55466127803907c7" -> null
- modified_on = "2022-08-17T15:42:40Z" -> null
- priority = 1 -> null
- status = "active" -> null
- target = "www.tarkov.dev" -> null
- zone_id = "a17204c79af55fcf05e4975f66e2490e" -> null
}
# cloudflare_ruleset.cache_rules will be updated in-place
~ resource "cloudflare_ruleset" "cache_rules" {
id = "6510b58fb0ac44c9984077e55eb158d0"
~ last_updated = "2026-03-31T17:17:47Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "2e7ab840d50147fba0a5f2ae6e08c136"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "52f2a779941244c387da27ca37ae4e3c"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "e33636211eac48a79e684cd75f1e0425"
# (5 unchanged attributes hidden)
},
~ {
~ action_parameters = {
- cache_key = {
- custom_key = {
- query_string = {
- exclude = {} -> null
} -> null
} -> null
} -> null
# (3 unchanged attributes hidden)
}
id = "ee8bbe239ef643978022b0b3ff51dea7"
# (5 unchanged attributes hidden)
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "cache_service"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 120
+ mode = "override_origin"
}
}
+ description = "status service browser cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_services"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ cache = true
}
+ description = "status custom cache"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\" and http.request.uri.path eq \"/api/status-page/heartbeat/api\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "status_custom_cache"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 86400
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 86400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev data json"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and starts_with(http.request.uri.path, \"/data/\") and ends_with(http.request.uri.path, \".json\"))"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "data_json"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev fonts"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/fonts/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "fonts_page_rule"
},
+ {
+ action = "set_cache_settings"
+ action_parameters = {
+ browser_ttl = {
+ default = 31536000
+ mode = "override_origin"
}
+ cache = true
+ edge_ttl = {
+ default = 16070400
+ mode = "override_origin"
}
}
+ description = "tarkov.dev images"
+ enabled = true
+ expression = "(http.host eq \"tarkov.dev\" and http.request.uri.path contains \"/images/\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "images_page_rule"
},
# (4 unchanged elements hidden)
]
~ version = "41" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for cache service"
+ enabled = true
+ expression = "(http.host eq \"cache.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_cache_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
# (2 unchanged elements hidden)
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# cloudflare_ruleset.redirect_rules will be updated in-place
~ resource "cloudflare_ruleset" "redirect_rules" {
id = "dfd59f858aa34bc096571ce402dee09f"
~ last_updated = "2026-03-30T23:07:06Z" -> (known after apply)
name = "default"
~ rules = [
+ {
+ action = "redirect"
+ action_parameters = {
+ from_value = {
+ preserve_query_string = false
+ status_code = 301
+ target_url = {
+ value = "https://tarkov.dev"
}
}
}
+ description = "Redirect www to apex"
+ enabled = true
+ expression = "(http.host eq \"www.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "www_redirect"
},
# (5 unchanged elements hidden)
]
~ version = "50" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 3 to change, 9 to destroy.
cloudflare_page_rule.socket_service: Destroying... [id=c0ee007ef9d254825dba03239022572f]
cloudflare_page_rule.fonts: Destroying... [id=ab4d1f4c56672ae225bdb63685501864]
cloudflare_page_rule.cache_service: Destroying... [id=d3fc85e128cfc8b26eb4d22f2a3f7ea5]
cloudflare_page_rule.manager_service: Destroying... [id=fe81e8e9c9fb30d44484cfcd600d2976]
cloudflare_page_rule.data_json: Destroying... [id=8965e35400084b17c7139d0edcfbdf01]
cloudflare_page_rule.status_services: Destroying... [id=bf9bffb9e7a99924f271bff26fb871cf]
cloudflare_page_rule.images: Destroying... [id=72723f104b4316bd4e6c33203b606b4c]
cloudflare_page_rule.www_redirect: Destroying... [id=272eb1d91c4a29cc55466127803907c7]
cloudflare_page_rule.data_json: Destruction complete after 1s
cloudflare_page_rule.status_custom_cache: Destroying... [id=9719ec8cc18c7947863c93bda58d409d]
cloudflare_page_rule.socket_service: Destruction complete after 1s
cloudflare_ruleset.config_settings: Modifying... [id=3281ba33c9f2467b883d5c6d7c56b193]
cloudflare_page_rule.cache_service: Destruction complete after 1s
cloudflare_page_rule.manager_service: Destruction complete after 1s
cloudflare_page_rule.status_services: Destruction complete after 1s
cloudflare_page_rule.fonts: Destruction complete after 1s
cloudflare_page_rule.www_redirect: Destruction complete after 1s
cloudflare_page_rule.images: Destruction complete after 1s
cloudflare_ruleset.redirect_rules: Modifying... [id=dfd59f858aa34bc096571ce402dee09f]
cloudflare_page_rule.status_custom_cache: Destruction complete after 0s
cloudflare_ruleset.cache_rules: Modifying... [id=6510b58fb0ac44c9984077e55eb158d0]
cloudflare_ruleset.redirect_rules: Modifications complete after 1s [id=dfd59f858aa34bc096571ce402dee09f]
cloudflare_ruleset.cache_rules: Modifications complete after 1s [id=6510b58fb0ac44c9984077e55eb158d0]
::error::Terraform exited with code 1.
|
|
.deploy |
Deployment Triggered 🚀GrantBirki, started a branch deployment to production (branch: You can watch the progress here 🔗 Details{
"type": "branch",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T05:15:52.317Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26865213576"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "8c253e10f543a78bc3e4d03a3e695b93c9c0c629",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/8c253e10f543a78bc3e4d03a3e695b93c9c0c629"
},
"context": {
"actor": "GrantBirki",
"noop": false,
"fork": false,
"comment": {
"created_at": "2026-06-03T05:15:34Z",
"updated_at": "2026-06-03T05:15:34Z",
"body": ".deploy",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609297430"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully branch deployed branch Show ResultsTerraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# cloudflare_ruleset.config_settings will be updated in-place
~ resource "cloudflare_ruleset" "config_settings" {
id = "3281ba33c9f2467b883d5c6d7c56b193"
~ last_updated = "2026-02-23T23:32:38Z" -> (known after apply)
name = "default"
~ rules = [
~ {
~ action_parameters = {
+ ssl = "full"
- sxg = true -> null
}
~ description = "tarkov.dev - configuration" -> "socket.tarkov.dev SSL/TLS set to Full"
~ expression = "(http.host eq \"tarkov.dev\")" -> "(http.host eq \"socket.tarkov.dev\")"
~ id = "cac9df6c991d49d693cc4d2519f8f3ee" -> "b3dc812aec6940f8b20d24960c908227"
~ ref = "cac9df6c991d49d693cc4d2519f8f3ee" -> "b3dc812aec6940f8b20d24960c908227"
# (2 unchanged attributes hidden)
},
~ {
~ action_parameters = {
~ ssl = "full" -> "strict"
}
~ description = "socket.tarkov.dev SSL/TLS set to Full" -> "Strict SSL for cache service"
~ enabled = false -> true
~ expression = "(http.host eq \"socket.tarkov.dev\")" -> "(http.host eq \"cache.tarkov.dev\")"
~ id = "b3dc812aec6940f8b20d24960c908227" -> (known after apply)
+ logging = (known after apply)
~ ref = "b3dc812aec6940f8b20d24960c908227" -> "strict_ssl_cache_service"
# (1 unchanged attribute hidden)
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for status service"
+ enabled = true
+ expression = "(http.host eq \"status.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_status_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for manager service"
+ enabled = true
+ expression = "(http.host eq \"manager.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_manager_service"
},
+ {
+ action = "set_config"
+ action_parameters = {
+ ssl = "strict"
}
+ description = "Strict SSL for socket service"
+ enabled = true
+ expression = "(http.host eq \"socket.tarkov.dev\")"
+ id = (known after apply)
+ logging = (known after apply)
+ ref = "strict_ssl_socket_service"
},
]
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
cloudflare_ruleset.config_settings: Modifying... [id=3281ba33c9f2467b883d5c6d7c56b193]
cloudflare_ruleset.config_settings: Modifications complete after 1s [id=3281ba33c9f2467b883d5c6d7c56b193]
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
|
|
.noop |
Deployment Triggered 🚀GrantBirki, started a noop deployment to production (noop: You can watch the progress here 🔗 Details{
"type": "noop",
"environment": {
"name": "production",
"url": null
},
"deployment": {
"timestamp": "2026-06-03T05:17:16.556Z",
"logs": "https://github.com/the-hideout/cloudflare/actions/runs/26865258064"
},
"git": {
"branch": "cloudflare-terraform-modernization",
"commit": "8c253e10f543a78bc3e4d03a3e695b93c9c0c629",
"verified": true,
"committer": "GrantBirki",
"html_url": "https://github.com/the-hideout/cloudflare/commit/8c253e10f543a78bc3e4d03a3e695b93c9c0c629"
},
"context": {
"actor": "GrantBirki",
"noop": true,
"fork": false,
"comment": {
"created_at": "2026-06-03T05:17:00Z",
"updated_at": "2026-06-03T05:17:00Z",
"body": ".noop",
"html_url": "https://github.com/the-hideout/cloudflare/pull/112#issuecomment-4609304039"
}
},
"parameters": {
"raw": null,
"parsed": null
}
} |
Deployment Results ✅GrantBirki successfully noop deployed branch Show ResultsNo changes. Your infrastructure matches the configuration.
Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
|
Summary
Upgrades Cloudflare Terraform to provider
5.19.1with a committed lock file and.terraform-version, while keeping GitHub Actions pinned. Replaces legacy Page Rules with native redirect, cache, and config rulesets, imports public-safe KV namespace shells, and limits committed Terraform coverage to public-safe resources.