Skip to content

feat: add zitadel base-domain 1password secrets#1848

Merged
zackpollard merged 1 commit into
mainfrom
feat/zitadel-base-domain-secrets
Jul 23, 2026
Merged

feat: add zitadel base-domain 1password secrets#1848
zackpollard merged 1 commit into
mainfrom
feat/zitadel-base-domain-secrets

Conversation

@zackpollard

Copy link
Copy Markdown
Member

No description provided.

Register CUSTOMER_ZITADEL_BASE_DOMAIN (per-env, futo account) and
FUTO_ZITADEL_BASE_DOMAIN (immich tf vault) so the manual-secrets modules
seed them. Each holds its zitadel instance's stable <name>.zitadel.cloud
host. Must be applied and populated with real values before the modules
that consume them.
@zackpollard
zackpollard requested a review from a team as a code owner July 23, 2026 16:20
@github-actions

Copy link
Copy Markdown

Terraform Plan

Shared

⚠️ 1password/account — Plan: 2 to add, 0 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
  # module.manual-secrets.onepassword_item.copy["tf_FUTO_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "copy" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "FUTO_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "ilwk2teati3z264z2szn5cwxia"
    }
  # module.manual-secrets.onepassword_item.manual["tf_FUTO_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "manual" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "FUTO_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "gvrvuamvqfyyiryit4lhd2mna4"
    }
Plan: 2 to add, 0 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.
⚠️ 1password/futo-account — Plan: 6 to add, 0 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
  # module.yucca-manual-secrets.onepassword_item.copy["yucca_tf_dev_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "copy" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "udvvwpobcb7czmzdk6arilybyu"
    }
  # module.yucca-manual-secrets.onepassword_item.copy["yucca_tf_prod_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "copy" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "go63f4pvlndqfm4n73udhc3a7y"
    }
  # module.yucca-manual-secrets.onepassword_item.copy["yucca_tf_staging_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "copy" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "dr53w2brteau57hwfflxfg3jpe"
    }
  # module.yucca-manual-secrets.onepassword_item.manual["yucca_tf_dev_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "manual" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "6s4vupt24ugc26p7wilybhttoe"
    }
  # module.yucca-manual-secrets.onepassword_item.manual["yucca_tf_prod_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "manual" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "5jn5nwq7gfv3aqhuj5jl4642oa"
    }
  # module.yucca-manual-secrets.onepassword_item.manual["yucca_tf_staging_CUSTOMER_ZITADEL_BASE_DOMAIN"] will be created
  + resource "onepassword_item" "manual" {
      + category = "password"
      + id       = (known after apply)
      + password = (sensitive value)
      + title    = "CUSTOMER_ZITADEL_BASE_DOMAIN"
      + uuid     = (known after apply)
      + vault    = "y3lx6mofzwe6xo3u6p7v33j3vq"
    }
Plan: 6 to add, 0 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 — No changes
cloudflare/api-keys — No changes
cloudflare/futo-account — No changes
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["demo"],
│   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 — No changes

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: 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)
  # 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)
    }
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 (staging — zitadel customer)

customer — No changes

@zackpollard
zackpollard merged commit 42b8fb8 into main Jul 23, 2026
26 checks passed
@zackpollard
zackpollard deleted the feat/zitadel-base-domain-secrets branch July 23, 2026 16:58
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.

3 participants