Skip to content

feat(yucca): add postmark dns records for futo.cloud#1843

Merged
nutgood merged 1 commit into
mainfrom
feat/postmark-dns-record
Jul 22, 2026
Merged

feat(yucca): add postmark dns records for futo.cloud#1843
nutgood merged 1 commit into
mainfrom
feat/postmark-dns-record

Conversation

@nutgood

@nutgood nutgood commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@nutgood
nutgood requested a review from a team as a code owner July 22, 2026 13:26
@nutgood
nutgood enabled auto-merge (squash) July 22, 2026 13:26
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

Terraform Plan

Shared

1password/account — No changes
⚠️ 1password/futo-account — Plan: 0 to add, 1 to change, 0 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place (current -> planned)
  # module.yucca-manual-secrets.onepassword_item.copy["yucca_tf_POSTMARK_API_TOKEN"] will be updated in-place
  ~ resource "onepassword_item" "copy" {
        id       = "vaults/lq7jrrdekmff77mfc4yv6n3boq/items/2sc6k63hlu6vzgqgg6ycafkvma"
      ~ password = (sensitive value)
        # (4 unchanged attributes hidden)
    }
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.
bunny/futo-account — No changes
⚠️ cloudflare/account — Plan: 0 to add, 2 to change, 0 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place (current -> planned)
  # cloudflare_record.immich_app_mx_root_20 will be updated in-place
  ~ resource "cloudflare_record" "immich_app_mx_root_20" {
        id              = "f00b13ecc9a1bec7a10dee5b367bb422"
        name            = "immich.app"
        tags            = []
        # (13 unchanged attributes hidden)
      - data {
          - algorithm      = 0 -> null
          - altitude       = 0 -> null
          - digest_type    = 0 -> null
          - key_tag        = 0 -> null
          - lat_degrees    = 0 -> null
          - lat_minutes    = 0 -> null
          - lat_seconds    = 0 -> null
          - long_degrees   = 0 -> null
          - long_minutes   = 0 -> null
          - long_seconds   = 0 -> null
          - matching_type  = 0 -> null
          - order          = 0 -> null
          - port           = 0 -> null
          - precision_horz = 0 -> null
          - precision_vert = 0 -> null
          - preference     = 0 -> null
          - priority       = 20 -> null
          - protocol       = 0 -> null
          - selector       = 0 -> null
          - size           = 0 -> null
          - target         = "in2-smtp.messagingengine.com" -> null
          - type           = 0 -> null
          - usage          = 0 -> null
          - weight         = 0 -> null
        }
    }
  # cloudflare_record.immich_store_mx_root_20 will be updated in-place
  ~ resource "cloudflare_record" "immich_store_mx_root_20" {
        id              = "a6f84ef23fab64873cb542872ad9d357"
        name            = "@"
        tags            = []
        # (12 unchanged attributes hidden)
      - data {
          - algorithm      = 0 -> null
          - altitude       = 0 -> null
          - digest_type    = 0 -> null
          - key_tag        = 0 -> null
          - lat_degrees    = 0 -> null
          - lat_minutes    = 0 -> null
          - lat_seconds    = 0 -> null
          - long_degrees   = 0 -> null
          - long_minutes   = 0 -> null
          - long_seconds   = 0 -> null
          - matching_type  = 0 -> null
          - order          = 0 -> null
          - port           = 0 -> null
          - precision_horz = 0 -> null
          - precision_vert = 0 -> null
          - preference     = 0 -> null
          - priority       = 20 -> null
          - protocol       = 0 -> null
          - selector       = 0 -> null
          - size           = 0 -> null
          - target         = "in2-smtp.messagingengine.com" -> null
          - type           = 0 -> null
          - usage          = 0 -> null
          - weight         = 0 -> null
        }
    }
Plan: 0 to add, 2 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.
cloudflare/api-keys — No changes
⚠️ cloudflare/futo-account — Plan: 2 to add, 2 to change, 0 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place (current -> planned)
  # cloudflare_dns_record.as402421_net_mx_root_20 will be updated in-place
  ~ resource "cloudflare_dns_record" "as402421_net_mx_root_20" {
      - data        = {
          - priority = 20 -> null
          - target   = "in2-smtp.messagingengine.com" -> null
        } -> null
        id          = "09c27b269874f83f165bac3a7b7a9d0e"
      ~ modified_on = "2026-06-30T18:19:42Z" -> (known after apply)
        name        = "as402421.net"
        tags        = []
        # (10 unchanged attributes hidden)
    }
  # cloudflare_dns_record.futo_cloud_cname_postmark_bounces will be created
  + resource "cloudflare_dns_record" "futo_cloud_cname_postmark_bounces" {
      + content          = "pm.mtasv.net"
      + created_on       = (known after apply)
      + id               = (known after apply)
      + meta             = (known after apply)
      + modified_on      = (known after apply)
      + name             = "pm-bounces.futo.cloud"
      + proxiable        = (known after apply)
      + proxied          = false
      + settings         = (known after apply)
      + tags             = (known after apply)
      + tags_modified_on = (known after apply)
      + ttl              = 1
      + type             = "CNAME"
      + zone_id          = "474fbfd96bf49879054a493f126c4071"
    }
  # cloudflare_dns_record.futo_cloud_mx_root_20 will be updated in-place
  ~ resource "cloudflare_dns_record" "futo_cloud_mx_root_20" {
      - data        = {
          - priority = 20 -> null
          - target   = "in2-smtp.messagingengine.com" -> null
        } -> null
        id          = "45381da24a0d5e4bdac901ee89f821af"
      ~ modified_on = "2026-06-30T18:19:42Z" -> (known after apply)
        name        = "futo.cloud"
        tags        = []
        # (10 unchanged attributes hidden)
    }
  # cloudflare_dns_record.futo_cloud_txt_dkim_postmark will be created
  + resource "cloudflare_dns_record" "futo_cloud_txt_dkim_postmark" {
      + content          = "\"k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiWqKH70/oAeOCypulMdz4Ykde1SCWi91/DhRJI+sqcIjvRYl1aWn/8SAjZOUK5pwmqlsUFv4TwZJkra6t3/MWANexho1C36ShE/vohYjh5AclNtsV5x5gKVIP728BKOiupcSTMhH4MXY2tctekHrh/iWZJqKhtQDlyW0fXeFRjQIDAQAB\""
      + created_on       = (known after apply)
      + id               = (known after apply)
      + meta             = (known after apply)
      + modified_on      = (known after apply)
      + name             = "20260722131929pm._domainkey.futo.cloud"
      + 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          = "474fbfd96bf49879054a493f126c4071"
    }
Plan: 2 to add, 2 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.
cloudflare/futo-api-keys — No changes
docker/org — No changes
⚠️ github/org — Plan: 0 to add, 4 to change, 0 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place (current -> planned)
  # github_repository_collaborators.repo_collaborators["immich"] will be updated in-place
  ~ resource "github_repository_collaborators" "repo_collaborators" {
        id             = "455229168"
      ~ invitation_ids = {
          - "koen-futo"  = "286515056"
          - "martabal"   = "284848949"
          - "martyfuhry" = "284848968"
          - "matthinc"   = "284848954"
          - "sudoicezen" = "284848972"
        } -> (known after apply)
        # (2 unchanged attributes hidden)
      - user {
          - permission = "admin" -> null
          - username   = "alextran1502" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "bo0tzz" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "jrasm91" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "zackpollard" -> null
        }
      + user {
          + permission = "maintain"
          + username   = "alextran1502"
        }
      + user {
          + permission = "maintain"
          + username   = "bo0tzz"
        }
      + user {
          + permission = "maintain"
          + username   = "jrasm91"
        }
      + user {
          + permission = "maintain"
          + username   = "zackpollard"
        }
        # (59 unchanged blocks hidden)
    }
  # github_repository_collaborators.repo_collaborators["static-pages"] will be updated in-place
  ~ resource "github_repository_collaborators" "repo_collaborators" {
        id             = "822727374"
      ~ invitation_ids = {
          - "PixelJonas" = "284848947"
          - "fyfrey"     = "284848959"
          - "kennyfuto"  = "288622006"
          - "koen-futo"  = "286515046"
          - "martabal"   = "284848951"
          - "martyfuhry" = "284848969"
          - "matthinc"   = "284848955"
          - "orhan98"    = "315880176"
          - "sudoicezen" = "284848974"
        } -> (known after apply)
        # (2 unchanged attributes hidden)
      - user {
          - permission = "admin" -> null
          - username   = "alextran1502" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "bo0tzz" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "jrasm91" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "zackpollard" -> null
        }
      + user {
          + permission = "maintain"
          + username   = "alextran1502"
        }
      + user {
          + permission = "maintain"
          + username   = "bo0tzz"
        }
      + user {
          + permission = "maintain"
          + username   = "jrasm91"
        }
      + user {
          + permission = "maintain"
          + username   = "zackpollard"
        }
        # (58 unchanged blocks hidden)
    }
  # github_repository_collaborators.repo_collaborators["test-assets"] will be updated in-place
  ~ resource "github_repository_collaborators" "repo_collaborators" {
        id             = "697157116"
      ~ invitation_ids = {
          - "PixelJonas" = "284848946"
          - "fyfrey"     = "284848960"
          - "kennyfuto"  = "288622000"
          - "koen-futo"  = "286515048"
          - "martabal"   = "284848952"
          - "martyfuhry" = "284848970"
          - "matthinc"   = "284848956"
          - "orhan98"    = "315880175"
          - "staticdog"  = "320859393"
          - "sudoicezen" = "284848973"
        } -> (known after apply)
        # (2 unchanged attributes hidden)
      - user {
          - permission = "admin" -> null
          - username   = "alextran1502" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "bo0tzz" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "jrasm91" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "zackpollard" -> null
        }
      + user {
          + permission = "maintain"
          + username   = "alextran1502"
        }
      + user {
          + permission = "maintain"
          + username   = "bo0tzz"
        }
      + user {
          + permission = "maintain"
          + username   = "jrasm91"
        }
      + user {
          + permission = "maintain"
          + username   = "zackpollard"
        }
        # (58 unchanged blocks hidden)
    }
  # github_repository_collaborators.repo_collaborators["walkrs"] will be updated in-place
  ~ resource "github_repository_collaborators" "repo_collaborators" {
        id             = "1156754889"
      ~ invitation_ids = {
          - "C-Otto"          = "307331486"
          - "PixelJonas"      = "307331438"
          - "adamantike"      = "307331464"
          - "dahool"          = "307331471"
          - "ddshd"           = "307331444"
          - "fyfrey"          = "307331463"
          - "github-cli"      = "307331445"
          - "jbaez"           = "307331428"
          - "kennyfuto"       = "307331447"
          - "koen-futo"       = "307331458"
          - "martabal"        = "307331390"
          - "martyfuhry"      = "307331483"
          - "matthinc"        = "307331420"
          - "michelheusschen" = "307331480"
          - "midzelis"        = "309034718"
          - "orhan98"         = "315880173"
          - "samholton"       = "307331386"
          - "schuhbacca"      = "307331432"
          - "skatsubo"        = "307331414"
          - "staticdog"       = "320859390"
        } -> (known after apply)
        # (2 unchanged attributes hidden)
      - user {
          - permission = "admin" -> null
          - username   = "alextran1502" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "bo0tzz" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "jrasm91" -> null
        }
      - user {
          - permission = "admin" -> null
          - username   = "zackpollard" -> null
        }
      + user {
          + permission = "maintain"
          + username   = "alextran1502"
        }
      + user {
          + permission = "maintain"
          + username   = "bo0tzz"
        }
      + user {
          + permission = "maintain"
          + username   = "jrasm91"
        }
      + user {
          + permission = "maintain"
          + username   = "zackpollard"
        }
        # (58 unchanged blocks hidden)
    }
Plan: 0 to add, 4 to change, 0 to destroy.
╷
│ Warning: Argument is deprecated
│ 
│   with github_repository.repositories["retro"],
│   on repositories.tf line 173, in resource "github_repository" "repositories":173:   vulnerability_alerts      = !each.value.archived
│ 
│ Use the github_repository_vulnerability_alerts resource instead. This field
│ will be removed in a future version.
│ 
│ (and 24 more similar warnings elsewhere)
╵
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.
github/secrets — No changes
github/webhooks — No changes
netbird/account — No changes
zitadel/cloud — No changes
⚠️ zitadel/self-hosted — Plan: 0 to add, 1 to change, 0 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place (current -> planned)
  # zitadel_human_user.users["11602424"] will be updated in-place
  ~ resource "zitadel_human_user" "users" {
      + display_name                 = "bo0tzz  "
        id                           = "323182877787291672"
        # (15 unchanged attributes hidden)
    }
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.

Scoped (dev)

discord/community — No changes
monitoring/grafana — No changes
zitadel/customer — No changes

Scoped (prod)

discord/community — No changes
discord/futo — No changes
monitoring/grafana — No changes
⚠️ zitadel/customer — Plan: 1 to add, 1 to change, 1 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place (current -> planned)
-/+ destroy and then create replacement
  # cloudflare_dns_record.customer_auth[0] will be updated in-place
  ~ resource "cloudflare_dns_record" "customer_auth" {
      ~ content     = (sensitive value)
        id          = "b8891ec64061d267a95974afe642413d"
      ~ modified_on = "2026-07-01T21:41:39Z" -> (known after apply)
        name        = "auth.futo.cloud"
        tags        = []
        # (8 unchanged attributes hidden)
    }
  # null_resource.hosted_login_translations must be replaced
-/+ resource "null_resource" "hosted_login_translations" {
      ~ id       = "7203360791194141670" -> (known after apply)
      ~ triggers = { # forces replacement
          ~ "domain"            = (sensitive value)
            # (3 unchanged elements hidden)
        }
    }
Plan: 1 to add, 1 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so OpenTofu can't
guarantee to take exactly these actions if you run "tofu apply" now.

Scoped (staging — zitadel customer)

customer — No changes

@nutgood
nutgood merged commit 7ca87fb into main Jul 22, 2026
30 of 32 checks passed
@nutgood
nutgood deleted the feat/postmark-dns-record branch July 22, 2026 14:05
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.

2 participants