Skip to content

Modernize Cloudflare Terraform#112

Merged
GrantBirki merged 10 commits into
mainfrom
cloudflare-terraform-modernization
Jun 3, 2026
Merged

Modernize Cloudflare Terraform#112
GrantBirki merged 10 commits into
mainfrom
cloudflare-terraform-modernization

Conversation

@GrantBirki
Copy link
Copy Markdown
Member

@GrantBirki GrantBirki commented Jun 3, 2026

Summary

Upgrades Cloudflare Terraform to provider 5.19.1 with 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.

@GrantBirki GrantBirki requested a review from a team as a code owner June 3, 2026 04:08
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

👋 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:

  1. 🧪 Run a noop deployment with .noop as a comment on this PR

  2. 👀 Observe the CI and noop output on this pull request to ensure it is passing and doing what it is supposed to do

  3. ✔️ Obtain an approval/review on this pull request

  4. 🚀 Branch deploy your pull request to production with .deploy

    If anything goes wrong, rollback with .deploy main

  5. 🎉 Merge!

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ❌

GrantBirki your noop deployment of cloudflare-terraform-modernization failed to deploy to the production environment

Show Results
cloudflare_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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.deploy

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a branch deployment to production (branch: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ❌

GrantBirki your branch deployment of cloudflare-terraform-modernization failed to deploy to the production environment

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.deploy

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a branch deployment to production (branch: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully branch deployed branch cloudflare-terraform-modernization to production

Show Results
Terraform 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.

@GrantBirki
Copy link
Copy Markdown
Member Author

.noop

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Triggered 🚀

GrantBirki, started a noop deployment to production (noop: cloudflare-terraform-modernization)

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
  }
}

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Deployment Results ✅

GrantBirki successfully noop deployed branch cloudflare-terraform-modernization to production

Show Results
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

@GrantBirki GrantBirki merged commit cab332c into main Jun 3, 2026
4 checks passed
@GrantBirki GrantBirki deleted the cloudflare-terraform-modernization branch June 3, 2026 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant