chore: update lost and found repo #265

Merged
anish merged 1 commit from lost-and-found into main 2026-09-22 12:07:54 +00:00
Owner
No description provided.
chore: update lost and found repo
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/plan: google_groups Plan failed.
atlantis/plan: discord Plan failed.
atlantis/plan: git Plan failed.
atlantis/plan: keycloak Plan failed.
atlantis/plan: google_play Plan failed.
atlantis/plan: slack Plan failed.
atlantis/plan 6/6 projects failed to plan.
Validate / Governance (pull_request_target) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / check-1 (pull_request) Has been cancelled
kennel/build skipped: no services or static sites defined
7c6672a37f
Signed-off-by: anish <i@anish.land>

Ran Plan for 6 projects:

  1. project: discord dir: tofu/discord workspace: default
  2. project: google_groups dir: tofu/google_groups workspace: default
  3. project: git dir: tofu/git workspace: default
  4. project: keycloak dir: tofu/keycloak workspace: default
  5. project: slack dir: tofu/slack workspace: default
  6. project: google_play dir: tofu/google_play workspace: default

1. project: discord dir: tofu/discord workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


2. project: google_groups dir: tofu/google_groups workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


3. project: git dir: tofu/git workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


4. project: keycloak dir: tofu/keycloak workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


5. project: slack dir: tofu/slack workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


6. project: google_play dir: tofu/google_play workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


Plan Summary

6 projects, 0 with changes, 0 with no changes, 6 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
    
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock
    
Ran Plan for 6 projects: 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `google_groups` dir: `tofu/google_groups` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `google_play` dir: `tofu/google_play` workspace: `default` --- ### 1. project: `discord` dir: `tofu/discord` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 2. project: `google_groups` dir: `tofu/google_groups` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 3. project: `git` dir: `tofu/git` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 4. project: `keycloak` dir: `tofu/keycloak` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 5. project: `slack` dir: `tofu/slack` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 6. project: `google_play` dir: `tofu/google_play` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #226. To continue, delete the lock from #226 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### Plan Summary 6 projects, 0 with changes, 0 with no changes, 6 failed * :fast_forward: To **apply** all unapplied plans from this Pull Request, comment: ```shell atlantis apply ``` * :put_litter_in_its_place: To **delete** all plans and locks from this Pull Request, comment: ```shell atlantis unlock ```
anish force-pushed lost-and-found from 7c6672a37f
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/plan: google_groups Plan failed.
atlantis/plan: discord Plan failed.
atlantis/plan: git Plan failed.
atlantis/plan: keycloak Plan failed.
atlantis/plan: google_play Plan failed.
atlantis/plan: slack Plan failed.
atlantis/plan 6/6 projects failed to plan.
Validate / Governance (pull_request_target) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / check-1 (pull_request) Has been cancelled
kennel/build skipped: no services or static sites defined
to 42a615e655
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / check-1 (pull_request) Has been cancelled
2026-09-19 20:49:46 +00:00
Compare
anish force-pushed lost-and-found from 42a615e655
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Has been cancelled
CI / check (pull_request) Has been cancelled
CI / check-1 (pull_request) Has been cancelled
to 91d7499378
Some checks failed
CI / check-1 (pull_request) Successful in 12m52s
CI / check (pull_request) Successful in 0s
Validate / Governance (pull_request_target) Failing after 8m14s
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
2026-09-19 21:03:44 +00:00
Compare
anish force-pushed lost-and-found from 91d7499378
Some checks failed
CI / check-1 (pull_request) Successful in 12m52s
CI / check (pull_request) Successful in 0s
Validate / Governance (pull_request_target) Failing after 8m14s
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
to a7bdac1458
Some checks failed
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
CI / build (pull_request) Has been skipped
Validate / Governance (pull_request_target) Failing after 16m10s
CI / check-1 (pull_request) Successful in 24m51s
CI / check (pull_request) Successful in 0s
2026-09-19 23:58:43 +00:00
Compare
anish force-pushed lost-and-found from a7bdac1458
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Failing after 16m10s
CI / check-1 (pull_request) Successful in 24m51s
CI / check (pull_request) Successful in 0s
to f91454c9db
Some checks failed
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Failing after 2m41s
CI / check (pull_request) Has been cancelled
CI / check-1 (pull_request) Has been cancelled
2026-09-22 10:32:38 +00:00
Compare
chore: update slug for lost-and-found
All checks were successful
CI / build (pull_request) Has been skipped
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Successful in 2m51s
CI / check-1 (pull_request) Successful in 4m8s
CI / check (pull_request) Successful in 0s
6357e49a05
Signed-off-by: anish <i@anish.land>
chore: regenerate tofu, schemas, CODEOWNERS [skip ci]
Some checks failed
kennel/build skipped: no services or static sites defined
atlantis/plan: posthog Plan: 3 to add, 0 to change, 0 to destroy.
atlantis/plan: keycloak Plan: 38 to add, 0 to change, 38 to destroy.
atlantis/plan: discord Plan: 2 to add, 1 to change, 2 to destroy.
atlantis/plan: matrix_bridges Plan: 2 to add, 0 to change, 2 to destroy.
atlantis/plan: openbao Plan: 6 to add, 0 to change, 6 to destroy.
atlantis/plan: cdn Plan: 0 to add, 4 to change, 23 to destroy.
atlantis/plan: sentry Plan: 4 to add, 0 to change, 0 to destroy.
atlantis/plan: slack Plan: 1 to add, 0 to change, 1 to destroy.
atlantis/plan: git Plan: 15 to add, 0 to change, 14 to destroy.
atlantis/plan 9/9 projects planned successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
atlantis/apply: git Apply failed.
atlantis/apply: slack Apply succeeded.
atlantis/apply: cdn Apply succeeded.
atlantis/apply: openbao Apply succeeded.
atlantis/apply: posthog Apply succeeded.
atlantis/apply: discord Apply succeeded.
atlantis/apply: matrix_bridges Apply succeeded.
atlantis/apply: keycloak Apply succeeded.
atlantis/apply: sentry Apply succeeded.
atlantis/apply 1/9 projects failed to apply.
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
76a61040fc

Ran Plan for 9 projects:

  1. project: slack dir: tofu/slack workspace: default
  2. project: discord dir: tofu/discord workspace: default
  3. project: keycloak dir: tofu/keycloak workspace: default
  4. project: git dir: tofu/git workspace: default
  5. project: openbao dir: tofu/openbao workspace: default
  6. project: cdn dir: tofu/cdn workspace: default
  7. project: posthog dir: tofu/posthog workspace: default
  8. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  9. project: sentry dir: tofu/sentry workspace: default

1. project: slack dir: tofu/slack workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


2. project: discord dir: tofu/discord workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


3. project: keycloak dir: tofu/keycloak workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


4. project: git dir: tofu/git workspace: default

Plan Failed: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request.

Once the lock is released, comment atlantis plan here to re-plan.


5. project: openbao dir: tofu/openbao workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.33s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # vault_identity_group.lost-and-found-v2_admins will be destroyed
  # (because vault_identity_group.lost-and-found-v2_admins is not in configuration)
- resource "vault_identity_group" "lost-and-found-v2_admins" {
-       external_member_entity_ids = false -> null
-       external_member_group_ids  = false -> null
-       external_policies          = false -> null
-       id                         = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null
-       member_entity_ids          = [] -> null
-       member_group_ids           = [] -> null
-       metadata                   = {} -> null
-       name                       = "lost-and-found-v2-admins" -> null
-       policies                   = [
-           "lost-and-found-v2-prod",
        ] -> null
-       type                       = "external" -> null
    }

  # vault_identity_group.lost-and-found-v2_members will be destroyed
  # (because vault_identity_group.lost-and-found-v2_members is not in configuration)
- resource "vault_identity_group" "lost-and-found-v2_members" {
-       external_member_entity_ids = false -> null
-       external_member_group_ids  = false -> null
-       external_policies          = false -> null
-       id                         = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null
-       member_entity_ids          = [] -> null
-       member_group_ids           = [] -> null
-       metadata                   = {} -> null
-       name                       = "lost-and-found-v2-members" -> null
-       policies                   = [
-           "lost-and-found-v2-dev",
        ] -> null
-       type                       = "external" -> null
    }

  # vault_identity_group.lost-and-found_admins will be created
+ resource "vault_identity_group" "lost-and-found_admins" {
+       external_member_entity_ids = false
+       external_member_group_ids  = false
+       external_policies          = false
+       id                         = (known after apply)
+       name                       = "lost-and-found-admins"
+       policies                   = [
+           "lost-and-found-prod",
        ]
+       type                       = "external"
    }

  # vault_identity_group.lost-and-found_members will be created
+ resource "vault_identity_group" "lost-and-found_members" {
+       external_member_entity_ids = false
+       external_member_group_ids  = false
+       external_policies          = false
+       id                         = (known after apply)
+       name                       = "lost-and-found-members"
+       policies                   = [
+           "lost-and-found-dev",
        ]
+       type                       = "external"
    }

  # vault_identity_group_alias.lost-and-found-v2_admins will be destroyed
  # (because vault_identity_group_alias.lost-and-found-v2_admins is not in configuration)
- resource "vault_identity_group_alias" "lost-and-found-v2_admins" {
-       canonical_id   = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null
-       id             = "1cfbad81-e44c-d8f0-8a41-d13927f928a3" -> null
-       mount_accessor = "auth_oidc_375ac979" -> null
-       name           = "/projects/lost-and-found-v2/admins" -> null
    }

  # vault_identity_group_alias.lost-and-found-v2_members will be destroyed
  # (because vault_identity_group_alias.lost-and-found-v2_members is not in configuration)
- resource "vault_identity_group_alias" "lost-and-found-v2_members" {
-       canonical_id   = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null
-       id             = "8ceaa676-01d4-18bf-4797-316124bc24f8" -> null
-       mount_accessor = "auth_oidc_375ac979" -> null
-       name           = "/projects/lost-and-found-v2" -> null
    }

  # vault_identity_group_alias.lost-and-found_admins will be created
+ resource "vault_identity_group_alias" "lost-and-found_admins" {
+       canonical_id   = (known after apply)
+       id             = (known after apply)
+       mount_accessor = "auth_oidc_375ac979"
+       name           = "/projects/lost-and-found/admins"
    }

  # vault_identity_group_alias.lost-and-found_members will be created
+ resource "vault_identity_group_alias" "lost-and-found_members" {
+       canonical_id   = (known after apply)
+       id             = (known after apply)
+       mount_accessor = "auth_oidc_375ac979"
+       name           = "/projects/lost-and-found"
    }

  # vault_policy.lost-and-found-v2_dev will be destroyed
  # (because vault_policy.lost-and-found-v2_dev is not in configuration)
- resource "vault_policy" "lost-and-found-v2_dev" {
-       id     = "lost-and-found-v2-dev" -> null
-       name   = "lost-and-found-v2-dev" -> null
-       policy = <<-EOT
            path "secret/data/secretspec/lost-and-found-v2/dev/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/dev/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/preview/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/preview/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT -> null
    }

  # vault_policy.lost-and-found-v2_prod will be destroyed
  # (because vault_policy.lost-and-found-v2_prod is not in configuration)
- resource "vault_policy" "lost-and-found-v2_prod" {
-       id     = "lost-and-found-v2-prod" -> null
-       name   = "lost-and-found-v2-prod" -> null
-       policy = <<-EOT
            path "secret/data/secretspec/lost-and-found-v2/prod/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/prod/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/staging/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/staging/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/ci/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/ci/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT -> null
    }

  # vault_policy.lost-and-found_dev will be created
+ resource "vault_policy" "lost-and-found_dev" {
+       allow_overwrite = (known after apply)
+       id              = (known after apply)
+       name            = "lost-and-found-dev"
+       policy          = <<-EOT
            path "secret/data/secretspec/lost-and-found/dev/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/dev/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/preview/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/preview/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT
    }

  # vault_policy.lost-and-found_prod will be created
+ resource "vault_policy" "lost-and-found_prod" {
+       allow_overwrite = (known after apply)
+       id              = (known after apply)
+       name            = "lost-and-found-prod"
+       policy          = <<-EOT
            path "secret/data/secretspec/lost-and-found/prod/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/prod/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/staging/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/staging/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/ci/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/ci/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT
    }

Plan: 6 to add, 0 to change, 6 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p openbao
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p openbao
    

Plan: 6 to add, 0 to change, 6 to destroy.


6. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
   Compiling governance-core v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-core)
   Compiling governance-tfgen v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-tfgen)
   Compiling governance v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-cli)
    Finished `release` profile [optimized] target(s) in 7.35s


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

OpenTofu will perform the following actions:

  # garage_bucket.cdn_cmu-courses_courses will be updated in-place
! resource "garage_bucket" "cdn_cmu-courses_courses" {
        id                     = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_cmu-housing_housing will be updated in-place
! resource "garage_bucket" "cdn_cmu-housing_housing" {
        id                     = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_bucket.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_bucket" "cdn_lost-and-found_lost_and_found_v2" {
-       global_alias           = "cdn-lost-and-found-v2" -> null
-       id                     = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null
-       website_enabled        = true -> null
-       website_index_document = "index.html" -> null
    }

  # garage_bucket.cdn_quest_quest will be updated in-place
! resource "garage_bucket" "cdn_quest_quest" {
        id                     = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_uia_scottylabs_org will be updated in-place
! resource "garage_bucket" "cdn_uia_scottylabs_org" {
        id                     = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_bucket_permission" "cdn_lost-and-found_lost_and_found_v2" {
-       access_key_id = "GK346a164e309800f54ffe8e62" -> null
-       bucket_id     = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null
-       id            = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62" -> null
-       owner         = true -> null
-       read          = true -> null
-       write         = true -> null
    }

  # garage_key.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_key.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_key" "cdn_lost-and-found_lost_and_found_v2" {
-       id                = "GK346a164e309800f54ffe8e62" -> null
-       name              = "cdn-lost-and-found-v2" -> null
-       secret_access_key = (sensitive value) -> null
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.186160616Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.259006595Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.31138075Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.327147996Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.187473529Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.185995421Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.410181069Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.362203004Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.444872871Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.17839492Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.490539823Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.269879855Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.397654588Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.263781342Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.21018715Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.197467535Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.25759Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.340961836Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.267457533Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.525803479Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

Plan: 0 to add, 4 to change, 23 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p cdn
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p cdn
    

Plan: 0 to add, 4 to change, 23 to destroy.


7. project: posthog dir: tofu/posthog workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.39s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

OpenTofu will perform the following actions:

  # posthog_project.lnf_lost_and_found will be created
+ resource "posthog_project" "lnf_lost_and_found" {
+       api_token       = (sensitive value)
+       id              = (known after apply)
+       name            = "lost-and-found"
+       organization_id = (known after apply)
+       timezone        = (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_posthog_host will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_host" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/POSTHOG_HOST"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_posthog_key will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_key" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/POSTHOG_KEY"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

Plan: 3 to add, 0 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p posthog
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p posthog
    

Plan: 3 to add, 0 to change, 0 to destroy.


8. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.35s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # null_resource.slack_bridge_login_lnf will be created
+ resource "null_resource" "slack_bridge_login_lnf" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C01BAADS8U8"
        }
    }

  # null_resource.slack_bridge_login_lost_and_found will be destroyed
  # (because null_resource.slack_bridge_login_lost_and_found is not in configuration)
- resource "null_resource" "slack_bridge_login_lost_and_found" {
-       id       = "1216724828657172829" -> null
-       triggers = {
          - "channel" = "C01BAADS8U8"
        } -> null
    }

  # synapse_mautrix_slack_link.lnf will be created
+ resource "synapse_mautrix_slack_link" "lnf" {
+       discord_channel_id       = "1526510267607945326"
+       discord_relay_configured = (known after apply)
+       id                       = (known after apply)
+       room_alias               = (known after apply)
+       room_id                  = (known after apply)
+       slack_bridged            = (known after apply)
+       slack_channel_id         = "C01BAADS8U8"
+       team_name                = "Lost and Found"
+       team_slug                = "lnf"
    }

  # synapse_mautrix_slack_link.lost_and_found will be destroyed
  # (because synapse_mautrix_slack_link.lost_and_found is not in configuration)
- resource "synapse_mautrix_slack_link" "lost_and_found" {
-       discord_channel_id       = "1526510267607945326" -> null
-       discord_relay_configured = true -> null
-       id                       = "1526510267607945326" -> null
-       room_alias               = "discord_1526510267607945326" -> null
-       room_id                  = "!EkMLHYgoLjzCZwUrER:doggylabs.org" -> null
-       slack_bridged            = true -> null
-       slack_channel_id         = "C01BAADS8U8" -> null
-       team_name                = "Lost and Found" -> null
-       team_slug                = "lost-and-found" -> null
    }

Plan: 2 to add, 0 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p matrix_bridges
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p matrix_bridges
    

Plan: 2 to add, 0 to change, 2 to destroy.


9. project: sentry dir: tofu/sentry workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.36s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

OpenTofu will perform the following actions:

  # sentry_key.lnf_lost_and_found will be created
+ resource "sentry_key" "lnf_lost_and_found" {
+       dsn                      = (sensitive value)
+       dsn_csp                  = (known after apply)
+       dsn_public               = (known after apply)
+       dsn_secret               = (sensitive value)
+       id                       = (known after apply)
+       javascript_loader_script = (known after apply)
+       name                     = "default"
+       organization             = "scottylabs"
+       project                  = "lost-and-found"
+       project_id               = (known after apply)
+       public                   = (known after apply)
+       rate_limit_count         = (known after apply)
+       rate_limit_window        = (known after apply)
+       secret                   = (sensitive value)
    }

  # sentry_project.lnf_lost_and_found will be created
+ resource "sentry_project" "lnf_lost_and_found" {
+       client_security       = (known after apply)
+       digests_max_delay     = (known after apply)
+       digests_min_delay     = (known after apply)
+       features              = (known after apply)
+       filters               = (known after apply)
+       fingerprinting_rules  = (known after apply)
+       grouping_enhancements = (known after apply)
+       highlight_tags        = (known after apply)
+       id                    = (known after apply)
+       internal_id           = (known after apply)
+       name                  = "lost-and-found"
+       organization          = "scottylabs"
+       platform              = "deno"
+       resolve_age           = (known after apply)
+       slug                  = "lost-and-found"
+       teams                 = [
+           "lnf",
        ]
    }

  # sentry_team.lnf will be created
+ resource "sentry_team" "lnf" {
+       has_access   = (known after apply)
+       id           = (known after apply)
+       internal_id  = (known after apply)
+       is_member    = (known after apply)
+       is_pending   = (known after apply)
+       name         = "Lost and Found"
+       organization = "scottylabs"
+       slug         = "lnf"
+       team_id      = (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_sentry_dsn" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/SENTRY_DSN"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

Plan: 4 to add, 0 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p sentry
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p sentry
    

Plan: 4 to add, 0 to change, 0 to destroy.


Plan Summary

9 projects, 5 with changes, 0 with no changes, 4 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
    
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock
    
Ran Plan for 9 projects: 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `sentry` dir: `tofu/sentry` workspace: `default` --- ### 1. project: `slack` dir: `tofu/slack` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 2. project: `discord` dir: `tofu/discord` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 3. project: `keycloak` dir: `tofu/keycloak` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 4. project: `git` dir: `tofu/git` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #253. To continue, delete the lock from #253 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 5. project: `openbao` dir: `tofu/openbao` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.33s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # vault_identity_group.lost-and-found-v2_admins will be destroyed # (because vault_identity_group.lost-and-found-v2_admins is not in configuration) - resource "vault_identity_group" "lost-and-found-v2_admins" { - external_member_entity_ids = false -> null - external_member_group_ids = false -> null - external_policies = false -> null - id = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null - member_entity_ids = [] -> null - member_group_ids = [] -> null - metadata = {} -> null - name = "lost-and-found-v2-admins" -> null - policies = [ - "lost-and-found-v2-prod", ] -> null - type = "external" -> null } # vault_identity_group.lost-and-found-v2_members will be destroyed # (because vault_identity_group.lost-and-found-v2_members is not in configuration) - resource "vault_identity_group" "lost-and-found-v2_members" { - external_member_entity_ids = false -> null - external_member_group_ids = false -> null - external_policies = false -> null - id = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null - member_entity_ids = [] -> null - member_group_ids = [] -> null - metadata = {} -> null - name = "lost-and-found-v2-members" -> null - policies = [ - "lost-and-found-v2-dev", ] -> null - type = "external" -> null } # vault_identity_group.lost-and-found_admins will be created + resource "vault_identity_group" "lost-and-found_admins" { + external_member_entity_ids = false + external_member_group_ids = false + external_policies = false + id = (known after apply) + name = "lost-and-found-admins" + policies = [ + "lost-and-found-prod", ] + type = "external" } # vault_identity_group.lost-and-found_members will be created + resource "vault_identity_group" "lost-and-found_members" { + external_member_entity_ids = false + external_member_group_ids = false + external_policies = false + id = (known after apply) + name = "lost-and-found-members" + policies = [ + "lost-and-found-dev", ] + type = "external" } # vault_identity_group_alias.lost-and-found-v2_admins will be destroyed # (because vault_identity_group_alias.lost-and-found-v2_admins is not in configuration) - resource "vault_identity_group_alias" "lost-and-found-v2_admins" { - canonical_id = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null - id = "1cfbad81-e44c-d8f0-8a41-d13927f928a3" -> null - mount_accessor = "auth_oidc_375ac979" -> null - name = "/projects/lost-and-found-v2/admins" -> null } # vault_identity_group_alias.lost-and-found-v2_members will be destroyed # (because vault_identity_group_alias.lost-and-found-v2_members is not in configuration) - resource "vault_identity_group_alias" "lost-and-found-v2_members" { - canonical_id = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null - id = "8ceaa676-01d4-18bf-4797-316124bc24f8" -> null - mount_accessor = "auth_oidc_375ac979" -> null - name = "/projects/lost-and-found-v2" -> null } # vault_identity_group_alias.lost-and-found_admins will be created + resource "vault_identity_group_alias" "lost-and-found_admins" { + canonical_id = (known after apply) + id = (known after apply) + mount_accessor = "auth_oidc_375ac979" + name = "/projects/lost-and-found/admins" } # vault_identity_group_alias.lost-and-found_members will be created + resource "vault_identity_group_alias" "lost-and-found_members" { + canonical_id = (known after apply) + id = (known after apply) + mount_accessor = "auth_oidc_375ac979" + name = "/projects/lost-and-found" } # vault_policy.lost-and-found-v2_dev will be destroyed # (because vault_policy.lost-and-found-v2_dev is not in configuration) - resource "vault_policy" "lost-and-found-v2_dev" { - id = "lost-and-found-v2-dev" -> null - name = "lost-and-found-v2-dev" -> null - policy = <<-EOT path "secret/data/secretspec/lost-and-found-v2/dev/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/dev/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/preview/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/preview/*" { capabilities = ["list", "read", "delete"] } EOT -> null } # vault_policy.lost-and-found-v2_prod will be destroyed # (because vault_policy.lost-and-found-v2_prod is not in configuration) - resource "vault_policy" "lost-and-found-v2_prod" { - id = "lost-and-found-v2-prod" -> null - name = "lost-and-found-v2-prod" -> null - policy = <<-EOT path "secret/data/secretspec/lost-and-found-v2/prod/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/prod/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/staging/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/staging/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/ci/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/ci/*" { capabilities = ["list", "read", "delete"] } EOT -> null } # vault_policy.lost-and-found_dev will be created + resource "vault_policy" "lost-and-found_dev" { + allow_overwrite = (known after apply) + id = (known after apply) + name = "lost-and-found-dev" + policy = <<-EOT path "secret/data/secretspec/lost-and-found/dev/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/dev/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/preview/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/preview/*" { capabilities = ["list", "read", "delete"] } EOT } # vault_policy.lost-and-found_prod will be created + resource "vault_policy" "lost-and-found_prod" { + allow_overwrite = (known after apply) + id = (known after apply) + name = "lost-and-found-prod" + policy = <<-EOT path "secret/data/secretspec/lost-and-found/prod/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/prod/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/staging/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/staging/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/ci/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/ci/*" { capabilities = ["list", "read", "delete"] } EOT } Plan: 6 to add, 0 to change, 6 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p openbao ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fopenbao%252Fdefault%252Fopenbao) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p openbao ``` Plan: 6 to add, 0 to change, 6 to destroy. --- ### 6. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Compiling governance-core v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-core) Compiling governance-tfgen v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-tfgen) Compiling governance v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-cli) Finished `release` profile [optimized] target(s) in 7.35s 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 OpenTofu will perform the following actions: # garage_bucket.cdn_cmu-courses_courses will be updated in-place ! resource "garage_bucket" "cdn_cmu-courses_courses" { id = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd" # (3 unchanged attributes hidden) } # garage_bucket.cdn_cmu-housing_housing will be updated in-place ! resource "garage_bucket" "cdn_cmu-housing_housing" { id = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8" # (3 unchanged attributes hidden) } # garage_bucket.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_bucket.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_bucket" "cdn_lost-and-found_lost_and_found_v2" { - global_alias = "cdn-lost-and-found-v2" -> null - id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null - website_enabled = true -> null - website_index_document = "index.html" -> null } # garage_bucket.cdn_quest_quest will be updated in-place ! resource "garage_bucket" "cdn_quest_quest" { id = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46" # (3 unchanged attributes hidden) } # garage_bucket.cdn_uia_scottylabs_org will be updated in-place ! resource "garage_bucket" "cdn_uia_scottylabs_org" { id = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629" # (3 unchanged attributes hidden) } # garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_bucket_permission" "cdn_lost-and-found_lost_and_found_v2" { - access_key_id = "GK346a164e309800f54ffe8e62" -> null - bucket_id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null - id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62" -> null - owner = true -> null - read = true -> null - write = true -> null } # garage_key.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_key.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_key" "cdn_lost-and-found_lost_and_found_v2" { - id = "GK346a164e309800f54ffe8e62" -> null - name = "cdn-lost-and-found-v2" -> null - secret_access_key = (sensitive value) -> null } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.186160616Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.259006595Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.31138075Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.327147996Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.187473529Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.185995421Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.410181069Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.362203004Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.444872871Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.17839492Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.490539823Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.269879855Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.397654588Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.263781342Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.21018715Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.197467535Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.25759Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.340961836Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.267457533Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.525803479Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } Plan: 0 to add, 4 to change, 23 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p cdn ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fcdn%252Fdefault%252Fcdn) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p cdn ``` Plan: 0 to add, 4 to change, 23 to destroy. --- ### 7. project: `posthog` dir: `tofu/posthog` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.39s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create OpenTofu will perform the following actions: # posthog_project.lnf_lost_and_found will be created + resource "posthog_project" "lnf_lost_and_found" { + api_token = (sensitive value) + id = (known after apply) + name = "lost-and-found" + organization_id = (known after apply) + timezone = (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_posthog_host will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_host" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/POSTHOG_HOST" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_posthog_key will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_key" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/POSTHOG_KEY" + path = (known after apply) + custom_metadata (known after apply) } Plan: 3 to add, 0 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p posthog ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fposthog%252Fdefault%252Fposthog) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p posthog ``` Plan: 3 to add, 0 to change, 0 to destroy. --- ### 8. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.35s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # null_resource.slack_bridge_login_lnf will be created + resource "null_resource" "slack_bridge_login_lnf" { + id = (known after apply) + triggers = { + "channel" = "C01BAADS8U8" } } # null_resource.slack_bridge_login_lost_and_found will be destroyed # (because null_resource.slack_bridge_login_lost_and_found is not in configuration) - resource "null_resource" "slack_bridge_login_lost_and_found" { - id = "1216724828657172829" -> null - triggers = { - "channel" = "C01BAADS8U8" } -> null } # synapse_mautrix_slack_link.lnf will be created + resource "synapse_mautrix_slack_link" "lnf" { + discord_channel_id = "1526510267607945326" + discord_relay_configured = (known after apply) + id = (known after apply) + room_alias = (known after apply) + room_id = (known after apply) + slack_bridged = (known after apply) + slack_channel_id = "C01BAADS8U8" + team_name = "Lost and Found" + team_slug = "lnf" } # synapse_mautrix_slack_link.lost_and_found will be destroyed # (because synapse_mautrix_slack_link.lost_and_found is not in configuration) - resource "synapse_mautrix_slack_link" "lost_and_found" { - discord_channel_id = "1526510267607945326" -> null - discord_relay_configured = true -> null - id = "1526510267607945326" -> null - room_alias = "discord_1526510267607945326" -> null - room_id = "!EkMLHYgoLjzCZwUrER:doggylabs.org" -> null - slack_bridged = true -> null - slack_channel_id = "C01BAADS8U8" -> null - team_name = "Lost and Found" -> null - team_slug = "lost-and-found" -> null } Plan: 2 to add, 0 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p matrix_bridges ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fmatrix_bridges%252Fdefault%252Fmatrix_bridges) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p matrix_bridges ``` Plan: 2 to add, 0 to change, 2 to destroy. --- ### 9. project: `sentry` dir: `tofu/sentry` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.36s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create OpenTofu will perform the following actions: # sentry_key.lnf_lost_and_found will be created + resource "sentry_key" "lnf_lost_and_found" { + dsn = (sensitive value) + dsn_csp = (known after apply) + dsn_public = (known after apply) + dsn_secret = (sensitive value) + id = (known after apply) + javascript_loader_script = (known after apply) + name = "default" + organization = "scottylabs" + project = "lost-and-found" + project_id = (known after apply) + public = (known after apply) + rate_limit_count = (known after apply) + rate_limit_window = (known after apply) + secret = (sensitive value) } # sentry_project.lnf_lost_and_found will be created + resource "sentry_project" "lnf_lost_and_found" { + client_security = (known after apply) + digests_max_delay = (known after apply) + digests_min_delay = (known after apply) + features = (known after apply) + filters = (known after apply) + fingerprinting_rules = (known after apply) + grouping_enhancements = (known after apply) + highlight_tags = (known after apply) + id = (known after apply) + internal_id = (known after apply) + name = "lost-and-found" + organization = "scottylabs" + platform = "deno" + resolve_age = (known after apply) + slug = "lost-and-found" + teams = [ + "lnf", ] } # sentry_team.lnf will be created + resource "sentry_team" "lnf" { + has_access = (known after apply) + id = (known after apply) + internal_id = (known after apply) + is_member = (known after apply) + is_pending = (known after apply) + name = "Lost and Found" + organization = "scottylabs" + slug = "lnf" + team_id = (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_sentry_dsn" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/SENTRY_DSN" + path = (known after apply) + custom_metadata (known after apply) } Plan: 4 to add, 0 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p sentry ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fsentry%252Fdefault%252Fsentry) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p sentry ``` Plan: 4 to add, 0 to change, 0 to destroy. --- ### Plan Summary 9 projects, 5 with changes, 0 with no changes, 4 failed * :fast_forward: To **apply** all unapplied plans from this Pull Request, comment: ```shell atlantis apply ``` * :put_litter_in_its_place: To **delete** all plans and locks from this Pull Request, comment: ```shell atlantis unlock ```
Author
Owner

atlantis plan

atlantis plan

Ran Plan for 9 projects:

  1. project: posthog dir: tofu/posthog workspace: default
  2. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  3. project: openbao dir: tofu/openbao workspace: default
  4. project: cdn dir: tofu/cdn workspace: default
  5. project: sentry dir: tofu/sentry workspace: default
  6. project: slack dir: tofu/slack workspace: default
  7. project: keycloak dir: tofu/keycloak workspace: default
  8. project: discord dir: tofu/discord workspace: default
  9. project: git dir: tofu/git workspace: default

1. project: posthog dir: tofu/posthog workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.31s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

OpenTofu will perform the following actions:

  # posthog_project.lnf_lost_and_found will be created
+ resource "posthog_project" "lnf_lost_and_found" {
+       api_token       = (sensitive value)
+       id              = (known after apply)
+       name            = "lost-and-found"
+       organization_id = (known after apply)
+       timezone        = (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_posthog_host will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_host" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/POSTHOG_HOST"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_posthog_key will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_key" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/POSTHOG_KEY"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

Plan: 3 to add, 0 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p posthog
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p posthog
    

Plan: 3 to add, 0 to change, 0 to destroy.


2. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # null_resource.slack_bridge_login_lnf will be created
+ resource "null_resource" "slack_bridge_login_lnf" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C01BAADS8U8"
        }
    }

  # null_resource.slack_bridge_login_lost_and_found will be destroyed
  # (because null_resource.slack_bridge_login_lost_and_found is not in configuration)
- resource "null_resource" "slack_bridge_login_lost_and_found" {
-       id       = "1216724828657172829" -> null
-       triggers = {
          - "channel" = "C01BAADS8U8"
        } -> null
    }

  # synapse_mautrix_slack_link.lnf will be created
+ resource "synapse_mautrix_slack_link" "lnf" {
+       discord_channel_id       = "1526510267607945326"
+       discord_relay_configured = (known after apply)
+       id                       = (known after apply)
+       room_alias               = (known after apply)
+       room_id                  = (known after apply)
+       slack_bridged            = (known after apply)
+       slack_channel_id         = "C01BAADS8U8"
+       team_name                = "Lost and Found"
+       team_slug                = "lnf"
    }

  # synapse_mautrix_slack_link.lost_and_found will be destroyed
  # (because synapse_mautrix_slack_link.lost_and_found is not in configuration)
- resource "synapse_mautrix_slack_link" "lost_and_found" {
-       discord_channel_id       = "1526510267607945326" -> null
-       discord_relay_configured = true -> null
-       id                       = "1526510267607945326" -> null
-       room_alias               = "discord_1526510267607945326" -> null
-       room_id                  = "!EkMLHYgoLjzCZwUrER:doggylabs.org" -> null
-       slack_bridged            = true -> null
-       slack_channel_id         = "C01BAADS8U8" -> null
-       team_name                = "Lost and Found" -> null
-       team_slug                = "lost-and-found" -> null
    }

Plan: 2 to add, 0 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p matrix_bridges
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p matrix_bridges
    

Plan: 2 to add, 0 to change, 2 to destroy.


3. project: openbao dir: tofu/openbao workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.45s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # vault_identity_group.lost-and-found-v2_admins will be destroyed
  # (because vault_identity_group.lost-and-found-v2_admins is not in configuration)
- resource "vault_identity_group" "lost-and-found-v2_admins" {
-       external_member_entity_ids = false -> null
-       external_member_group_ids  = false -> null
-       external_policies          = false -> null
-       id                         = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null
-       member_entity_ids          = [] -> null
-       member_group_ids           = [] -> null
-       metadata                   = {} -> null
-       name                       = "lost-and-found-v2-admins" -> null
-       policies                   = [
-           "lost-and-found-v2-prod",
        ] -> null
-       type                       = "external" -> null
    }

  # vault_identity_group.lost-and-found-v2_members will be destroyed
  # (because vault_identity_group.lost-and-found-v2_members is not in configuration)
- resource "vault_identity_group" "lost-and-found-v2_members" {
-       external_member_entity_ids = false -> null
-       external_member_group_ids  = false -> null
-       external_policies          = false -> null
-       id                         = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null
-       member_entity_ids          = [] -> null
-       member_group_ids           = [] -> null
-       metadata                   = {} -> null
-       name                       = "lost-and-found-v2-members" -> null
-       policies                   = [
-           "lost-and-found-v2-dev",
        ] -> null
-       type                       = "external" -> null
    }

  # vault_identity_group.lost-and-found_admins will be created
+ resource "vault_identity_group" "lost-and-found_admins" {
+       external_member_entity_ids = false
+       external_member_group_ids  = false
+       external_policies          = false
+       id                         = (known after apply)
+       name                       = "lost-and-found-admins"
+       policies                   = [
+           "lost-and-found-prod",
        ]
+       type                       = "external"
    }

  # vault_identity_group.lost-and-found_members will be created
+ resource "vault_identity_group" "lost-and-found_members" {
+       external_member_entity_ids = false
+       external_member_group_ids  = false
+       external_policies          = false
+       id                         = (known after apply)
+       name                       = "lost-and-found-members"
+       policies                   = [
+           "lost-and-found-dev",
        ]
+       type                       = "external"
    }

  # vault_identity_group_alias.lost-and-found-v2_admins will be destroyed
  # (because vault_identity_group_alias.lost-and-found-v2_admins is not in configuration)
- resource "vault_identity_group_alias" "lost-and-found-v2_admins" {
-       canonical_id   = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null
-       id             = "1cfbad81-e44c-d8f0-8a41-d13927f928a3" -> null
-       mount_accessor = "auth_oidc_375ac979" -> null
-       name           = "/projects/lost-and-found-v2/admins" -> null
    }

  # vault_identity_group_alias.lost-and-found-v2_members will be destroyed
  # (because vault_identity_group_alias.lost-and-found-v2_members is not in configuration)
- resource "vault_identity_group_alias" "lost-and-found-v2_members" {
-       canonical_id   = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null
-       id             = "8ceaa676-01d4-18bf-4797-316124bc24f8" -> null
-       mount_accessor = "auth_oidc_375ac979" -> null
-       name           = "/projects/lost-and-found-v2" -> null
    }

  # vault_identity_group_alias.lost-and-found_admins will be created
+ resource "vault_identity_group_alias" "lost-and-found_admins" {
+       canonical_id   = (known after apply)
+       id             = (known after apply)
+       mount_accessor = "auth_oidc_375ac979"
+       name           = "/projects/lost-and-found/admins"
    }

  # vault_identity_group_alias.lost-and-found_members will be created
+ resource "vault_identity_group_alias" "lost-and-found_members" {
+       canonical_id   = (known after apply)
+       id             = (known after apply)
+       mount_accessor = "auth_oidc_375ac979"
+       name           = "/projects/lost-and-found"
    }

  # vault_policy.lost-and-found-v2_dev will be destroyed
  # (because vault_policy.lost-and-found-v2_dev is not in configuration)
- resource "vault_policy" "lost-and-found-v2_dev" {
-       id     = "lost-and-found-v2-dev" -> null
-       name   = "lost-and-found-v2-dev" -> null
-       policy = <<-EOT
            path "secret/data/secretspec/lost-and-found-v2/dev/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/dev/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/preview/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/preview/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT -> null
    }

  # vault_policy.lost-and-found-v2_prod will be destroyed
  # (because vault_policy.lost-and-found-v2_prod is not in configuration)
- resource "vault_policy" "lost-and-found-v2_prod" {
-       id     = "lost-and-found-v2-prod" -> null
-       name   = "lost-and-found-v2-prod" -> null
-       policy = <<-EOT
            path "secret/data/secretspec/lost-and-found-v2/prod/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/prod/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/staging/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/staging/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found-v2/ci/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found-v2/ci/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT -> null
    }

  # vault_policy.lost-and-found_dev will be created
+ resource "vault_policy" "lost-and-found_dev" {
+       allow_overwrite = (known after apply)
+       id              = (known after apply)
+       name            = "lost-and-found-dev"
+       policy          = <<-EOT
            path "secret/data/secretspec/lost-and-found/dev/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/dev/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/preview/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/preview/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT
    }

  # vault_policy.lost-and-found_prod will be created
+ resource "vault_policy" "lost-and-found_prod" {
+       allow_overwrite = (known after apply)
+       id              = (known after apply)
+       name            = "lost-and-found-prod"
+       policy          = <<-EOT
            path "secret/data/secretspec/lost-and-found/prod/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/prod/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/staging/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/staging/*" {
              capabilities = ["list", "read", "delete"]
            }
            
            path "secret/data/secretspec/lost-and-found/ci/*" {
              capabilities = ["create", "read", "update", "delete", "list"]
            }
            
            path "secret/metadata/secretspec/lost-and-found/ci/*" {
              capabilities = ["list", "read", "delete"]
            }
        EOT
    }

Plan: 6 to add, 0 to change, 6 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p openbao
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p openbao
    

Plan: 6 to add, 0 to change, 6 to destroy.


4. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s


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

OpenTofu will perform the following actions:

  # garage_bucket.cdn_cmu-courses_courses will be updated in-place
! resource "garage_bucket" "cdn_cmu-courses_courses" {
        id                     = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_cmu-housing_housing will be updated in-place
! resource "garage_bucket" "cdn_cmu-housing_housing" {
        id                     = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_bucket.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_bucket" "cdn_lost-and-found_lost_and_found_v2" {
-       global_alias           = "cdn-lost-and-found-v2" -> null
-       id                     = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null
-       website_enabled        = true -> null
-       website_index_document = "index.html" -> null
    }

  # garage_bucket.cdn_quest_quest will be updated in-place
! resource "garage_bucket" "cdn_quest_quest" {
        id                     = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_uia_scottylabs_org will be updated in-place
! resource "garage_bucket" "cdn_uia_scottylabs_org" {
        id                     = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_bucket_permission" "cdn_lost-and-found_lost_and_found_v2" {
-       access_key_id = "GK346a164e309800f54ffe8e62" -> null
-       bucket_id     = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null
-       id            = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62" -> null
-       owner         = true -> null
-       read          = true -> null
-       write         = true -> null
    }

  # garage_key.cdn_lost-and-found_lost_and_found_v2 will be destroyed
  # (because garage_key.cdn_lost-and-found_lost_and_found_v2 is not in configuration)
- resource "garage_key" "cdn_lost-and-found_lost_and_found_v2" {
-       id                = "GK346a164e309800f54ffe8e62" -> null
-       name              = "cdn-lost-and-found-v2" -> null
-       secret_access_key = (sensitive value) -> null
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.186160616Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.259006595Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.31138075Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.327147996Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.187473529Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.185995421Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.410181069Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.362203004Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.444872871Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.17839492Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.490539823Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.269879855Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.397654588Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.263781342Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.21018715Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_access_key_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.197467535Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_public_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.25759Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.340961836Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.267457533Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key will be destroyed
  # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key is not in configuration)
- resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.525803479Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

Plan: 0 to add, 4 to change, 23 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p cdn
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p cdn
    

Plan: 0 to add, 4 to change, 23 to destroy.


5. project: sentry dir: tofu/sentry workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.33s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

OpenTofu will perform the following actions:

  # sentry_key.lnf_lost_and_found will be created
+ resource "sentry_key" "lnf_lost_and_found" {
+       dsn                      = (sensitive value)
+       dsn_csp                  = (known after apply)
+       dsn_public               = (known after apply)
+       dsn_secret               = (sensitive value)
+       id                       = (known after apply)
+       javascript_loader_script = (known after apply)
+       name                     = "default"
+       organization             = "scottylabs"
+       project                  = "lost-and-found"
+       project_id               = (known after apply)
+       public                   = (known after apply)
+       rate_limit_count         = (known after apply)
+       rate_limit_window        = (known after apply)
+       secret                   = (sensitive value)
    }

  # sentry_project.lnf_lost_and_found will be created
+ resource "sentry_project" "lnf_lost_and_found" {
+       client_security       = (known after apply)
+       digests_max_delay     = (known after apply)
+       digests_min_delay     = (known after apply)
+       features              = (known after apply)
+       filters               = (known after apply)
+       fingerprinting_rules  = (known after apply)
+       grouping_enhancements = (known after apply)
+       highlight_tags        = (known after apply)
+       id                    = (known after apply)
+       internal_id           = (known after apply)
+       name                  = "lost-and-found"
+       organization          = "scottylabs"
+       platform              = "deno"
+       resolve_age           = (known after apply)
+       slug                  = "lost-and-found"
+       teams                 = [
+           "lnf",
        ]
    }

  # sentry_team.lnf will be created
+ resource "sentry_team" "lnf" {
+       has_access   = (known after apply)
+       id           = (known after apply)
+       internal_id  = (known after apply)
+       is_member    = (known after apply)
+       is_pending   = (known after apply)
+       name         = "Lost and Found"
+       organization = "scottylabs"
+       slug         = "lnf"
+       team_id      = (known after apply)
    }

  # vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn will be created
+ resource "vault_kv_secret_v2" "lnf_lost_and_found_sentry_dsn" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/SENTRY_DSN"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

Plan: 4 to add, 0 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p sentry
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p sentry
    

Plan: 4 to add, 0 to change, 0 to destroy.


6. project: slack dir: tofu/slack workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.32s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # null_resource.slack_lnf_ch0_anish will be created
+ resource "null_resource" "slack_lnf_ch0_anish" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C01BAADS8U8"
          + "user"    = "U07FPJKFB5E"
        }
    }

  # null_resource.slack_lost-and-found_ch0_anish will be destroyed
  # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration)
- resource "null_resource" "slack_lost-and-found_ch0_anish" {
-       id       = "5751452929757186483" -> null
-       triggers = {
          - "channel" = "C01BAADS8U8"
          - "user"    = "U07FPJKFB5E"
        } -> null
    }

Plan: 1 to add, 0 to change, 1 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p slack
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p slack
    

Plan: 1 to add, 0 to change, 1 to destroy.


7. project: keycloak dir: tofu/keycloak workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.24s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # keycloak_group.project_lnf_lost-and-found will be created
+ resource "keycloak_group" "project_lnf_lost-and-found" {
+       id        = (known after apply)
+       name      = "lost-and-found"
+       parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25"
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group" "project_lnf_lost-and-found_admins" {
+       id        = (known after apply)
+       name      = "admins"
+       parent_id = (known after apply)
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" {
-       attributes = {} -> null
-       id         = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null
-       name       = "lost-and-found-v2" -> null
-       parent_id  = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null
-       path       = "/projects/lost-and-found-v2" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" {
-       attributes = {} -> null
-       id         = "7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null
-       name       = "admins" -> null
-       parent_id  = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null
-       path       = "/projects/lost-and-found-v2/admins" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lnf_lost-and-found will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" {
-       group_id = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null
-       id       = "scottylabs/group-memberships/c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" {
-       group_id = "7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null
-       id       = "scottylabs/group-memberships/7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_openid_client.lost_and_found will be created
+ resource "keycloak_openid_client" "lost_and_found" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_dev will be created
+ resource "keycloak_openid_client" "lost_and_found_dev" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-dev"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-dev"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "http://localhost:8090/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_staging will be created
+ resource "keycloak_openid_client" "lost_and_found_staging" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-staging"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-staging"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "2a859823-1ba0-4652-9fa3-09fda0a2dd02" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_dev" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-dev" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "1d96bcb2-22ff-4ecc-906c-9a6640d53628" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-dev" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "http://localhost:8090/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_staging" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-staging" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "1b3ba192-6045-49ae-921a-f6b6a8c87d6d" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-staging" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "2a859823-1ba0-4652-9fa3-09fda0a2dd02" -> null
-       full_path                  = true -> null
-       id                         = "625b0235-de2b-4123-9f40-03673c106ff2" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "1d96bcb2-22ff-4ecc-906c-9a6640d53628" -> null
-       full_path                  = true -> null
-       id                         = "7db92e13-bccd-4061-b428-f365515ae4e9" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "1b3ba192-6045-49ae-921a-f6b6a8c87d6d" -> null
-       full_path                  = true -> null
-       id                         = "af64f61c-faec-43c6-be39-133c3b391954" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.445711513Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.489762124Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.445520864Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.511095839Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.226166994Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.294909478Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.081577294Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.555053764Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.301539281Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.343657296Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.311380227Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.475662767Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.323201341Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.067857326Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.420619993Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.385710643Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.301658694Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.401296317Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.229191527Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.19914559Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.166851646Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.445160942Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.389203653Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.489862793Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.219054519Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-07-14T08:50:10.23660194Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "1"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.048042952Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-07-22T02:55:03.337739474Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

Plan: 38 to add, 0 to change, 38 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p keycloak
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p keycloak
    

Plan: 38 to add, 0 to change, 38 to destroy.


8. project: discord dir: tofu/discord workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.26s


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)
- destroy

OpenTofu will perform the following actions:

  # discord_channel_permission.lnf_ch0 will be created
+ resource "discord_channel_permission" "lnf_ch0" {
+       allow        = 1024
+       channel_id   = "1526510267607945326"
+       id           = (known after apply)
+       overwrite_id = (known after apply)
+       type         = "role"
    }

  # discord_channel_permission.lost-and-found_ch0 will be destroyed
  # (because discord_channel_permission.lost-and-found_ch0 is not in configuration)
- resource "discord_channel_permission" "lost-and-found_ch0" {
-       allow        = 1024 -> null
-       channel_id   = "1526510267607945326" -> null
-       deny         = 0 -> null
-       id           = "1526510267607945326:1526511044762271914:role" -> null
-       overwrite_id = "1526511044762271914" -> null
-       type         = "role" -> null
    }

  # discord_member_roles.anish will be updated in-place
! resource "discord_member_roles" "anish" {
        id        = "1353118209024331948:315249559473225729"
        # (2 unchanged attributes hidden)

-       role {
-           has_role = true -> null
-           role_id  = "1526511044762271914" -> null
        }
+       role {
+           has_role = true
+           role_id  = (known after apply)
        }

        # (14 unchanged blocks hidden)
    }

  # discord_role.lnf will be created
+ resource "discord_role" "lnf" {
+       hoist       = false
+       id          = (known after apply)
+       managed     = (known after apply)
+       mentionable = false
+       name        = "Lost and Found"
+       permissions = 0
+       position    = (known after apply)
+       server_id   = "1353118209024331948"
    }

  # discord_role.lost-and-found will be destroyed
  # (because discord_role.lost-and-found is not in configuration)
- resource "discord_role" "lost-and-found" {
-       color       = 0 -> null
-       hoist       = false -> null
-       id          = "1526511044762271914" -> null
-       managed     = false -> null
-       mentionable = false -> null
-       name        = "Lost and Found" -> null
-       permissions = 0 -> null
-       position    = 7 -> null
-       server_id   = "1353118209024331948" -> null
    }

Plan: 2 to add, 1 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p discord
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p discord
    

Plan: 2 to add, 1 to change, 2 to destroy.


9. project: git dir: tofu/git workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.35s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # forgejo_repository.lnf_lost_and_found will be created
+ resource "forgejo_repository" "lnf_lost_and_found" {
+       allow_manual_merge          = false
+       allow_merge_commits         = true
+       allow_rebase                = true
+       allow_rebase_explicit       = true
+       allow_squash_merge          = true
+       archive_on_destroy          = false
+       archived                    = false
+       auto_init                   = true
+       autodetect_manual_merge     = false
+       avatar_url                  = (known after apply)
+       clone_url                   = (known after apply)
+       created_at                  = (known after apply)
+       default_branch              = "main"
+       default_merge_style         = "merge"
+       description                 = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items"
+       empty                       = (known after apply)
+       external_tracker            = (known after apply)
+       external_wiki               = (known after apply)
+       fork                        = (known after apply)
+       forks_count                 = (known after apply)
+       full_name                   = (known after apply)
+       has_actions                 = true
+       has_issues                  = true
+       has_packages                = true
+       has_projects                = true
+       has_pull_requests           = true
+       has_releases                = true
+       has_wiki                    = true
+       html_url                    = (known after apply)
+       id                          = (known after apply)
+       ignore_whitespace_conflicts = false
+       internal                    = (known after apply)
+       internal_tracker            = (known after apply)
+       labels                      = false
+       lfs                         = false
+       milestones                  = false
+       mirror                      = false
+       mirror_interval             = (known after apply)
+       mirror_updated              = (known after apply)
+       name                        = "lost-and-found"
+       open_issues_count           = (known after apply)
+       open_pr_counter             = (known after apply)
+       owner                       = "ScottyLabs"
+       parent_id                   = (known after apply)
+       permissions                 = (known after apply)
+       private                     = false
+       release_counter             = (known after apply)
+       size                        = (known after apply)
+       ssh_url                     = (known after apply)
+       stars_count                 = (known after apply)
+       template                    = false
+       trust_model                 = "default"
+       updated_at                  = (known after apply)
+       watchers_count              = (known after apply)
+       website                     = "https://lostandfound.andrew.cmu.edu/"
    }

  # forgejo_repository.lost-and-found_lost_and_found_v2 will be destroyed
  # (because forgejo_repository.lost-and-found_lost_and_found_v2 is not in configuration)
- resource "forgejo_repository" "lost-and-found_lost_and_found_v2" {
-       allow_manual_merge          = false -> null
-       allow_merge_commits         = true -> null
-       allow_rebase                = true -> null
-       allow_rebase_explicit       = true -> null
-       allow_squash_merge          = true -> null
-       archive_on_destroy          = false -> null
-       archived                    = false -> null
-       auto_init                   = true -> null
-       autodetect_manual_merge     = false -> null
-       clone_addr                  = "https://codeberg.org/ScottyLabs/lost-and-found-v2.git" -> null
-       clone_url                   = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2.git" -> null
-       created_at                  = "2026-08-08T10:28:04Z" -> null
-       default_branch              = "main" -> null
-       default_merge_style         = "merge" -> null
-       description                 = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items" -> null
-       empty                       = false -> null
-       fork                        = false -> null
-       forks_count                 = 0 -> null
-       full_name                   = "ScottyLabs/lost-and-found-v2" -> null
-       has_actions                 = true -> null
-       has_issues                  = true -> null
-       has_packages                = true -> null
-       has_projects                = true -> null
-       has_pull_requests           = true -> null
-       has_releases                = true -> null
-       has_wiki                    = true -> null
-       html_url                    = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2" -> null
-       id                          = 31 -> null
-       ignore_whitespace_conflicts = false -> null
-       internal                    = false -> null
-       internal_tracker            = {
-           allow_only_contributors_to_track_time = true -> null
-           enable_issue_dependencies             = true -> null
-           enable_time_tracker                   = true -> null
        } -> null
-       labels                      = false -> null
-       lfs                         = false -> null
-       milestones                  = false -> null
-       mirror                      = false -> null
-       mirror_updated              = "0001-01-01T00:00:00Z" -> null
-       name                        = "lost-and-found-v2" -> null
-       open_issues_count           = 0 -> null
-       open_pr_counter             = 0 -> null
-       owner                       = "ScottyLabs" -> null
-       permissions                 = {
-           admin = true -> null
-           pull  = true -> null
-           push  = true -> null
        } -> null
-       private                     = false -> null
-       release_counter             = 0 -> null
-       size                        = 30 -> null
-       ssh_url                     = "ssh://forgejo@git.cmu.dev/ScottyLabs/lost-and-found-v2.git" -> null
-       stars_count                 = 0 -> null
-       template                    = false -> null
-       trust_model                 = "default" -> null
-       updated_at                  = "2026-08-08T10:28:08Z" -> null
-       watchers_count              = 3 -> null
-       website                     = "https://lostandfound.andrew.cmu.edu/" -> null
    }

  # forgejo_team.lnf will be created
+ resource "forgejo_team" "lnf" {
+       can_create_org_repo       = (known after apply)
+       description               = "Lost and Found"
+       id                        = (known after apply)
+       includes_all_repositories = (known after apply)
+       name                      = "lnf"
+       organization              = (known after apply)
+       organization_id           = 3
+       permission                = "write"
+       units_map                 = {
          + "repo.code"   = "write"
          + "repo.issues" = "write"
          + "repo.pulls"  = "write"
        }
    }

  # forgejo_team.lost-and-found will be destroyed
  # (because forgejo_team.lost-and-found is not in configuration)
- resource "forgejo_team" "lost-and-found" {
-       can_create_org_repo       = false -> null
-       description               = "Lost and Found" -> null
-       id                        = 5 -> null
-       includes_all_repositories = false -> null
-       name                      = "lost-and-found" -> null
-       organization              = "ScottyLabs" -> null
-       organization_id           = 3 -> null
-       permission                = "write" -> null
-       units_map                 = {
          - "repo.code"   = "write"
          - "repo.issues" = "write"
          - "repo.pulls"  = "write"
        } -> null
    }

  # forgejo_team.lost-and-found-v2_leads will be destroyed
  # (because forgejo_team.lost-and-found-v2_leads is not in configuration)
- resource "forgejo_team" "lost-and-found-v2_leads" {
-       can_create_org_repo       = false -> null
-       description               = "Lost and Found leads" -> null
-       id                        = 41 -> null
-       includes_all_repositories = false -> null
-       name                      = "lost-and-found-v2-leads" -> null
-       organization              = "ScottyLabs" -> null
-       organization_id           = 3 -> null
-       permission                = "admin" -> null
-       units_map                 = {
          - "repo.actions"    = "admin"
          - "repo.code"       = "admin"
          - "repo.ext_issues" = "admin"
          - "repo.ext_wiki"   = "admin"
          - "repo.issues"     = "admin"
          - "repo.packages"   = "admin"
          - "repo.projects"   = "admin"
          - "repo.pulls"      = "admin"
          - "repo.releases"   = "admin"
          - "repo.wiki"       = "admin"
        } -> null
    }

  # forgejo_team.lost-and-found_leads will be created
+ resource "forgejo_team" "lost-and-found_leads" {
+       can_create_org_repo       = false
+       description               = "Lost and Found leads"
+       id                        = (known after apply)
+       includes_all_repositories = false
+       name                      = "lost-and-found-leads"
+       organization              = (known after apply)
+       organization_id           = 3
+       permission                = "admin"
+       units_map                 = {
          + "repo.actions"    = "admin"
          + "repo.code"       = "admin"
          + "repo.ext_issues" = "admin"
          + "repo.ext_wiki"   = "admin"
          + "repo.issues"     = "admin"
          + "repo.packages"   = "admin"
          + "repo.projects"   = "admin"
          + "repo.pulls"      = "admin"
          + "repo.releases"   = "admin"
          + "repo.wiki"       = "admin"
        }
    }

  # forgejo_team_member.lnf_anish will be created
+ resource "forgejo_team_member" "lnf_anish" {
+       team_id = (known after apply)
+       user    = "anish"
    }

  # forgejo_team_member.lost-and-found-v2_leads_anish will be destroyed
  # (because forgejo_team_member.lost-and-found-v2_leads_anish is not in configuration)
- resource "forgejo_team_member" "lost-and-found-v2_leads_anish" {
-       team_id = 41 -> null
-       user    = "anish" -> null
    }

  # forgejo_team_member.lost-and-found_anish will be destroyed
  # (because forgejo_team_member.lost-and-found_anish is not in configuration)
- resource "forgejo_team_member" "lost-and-found_anish" {
-       team_id = 5 -> null
-       user    = "anish" -> null
    }

  # forgejo_team_member.lost-and-found_leads_anish will be created
+ resource "forgejo_team_member" "lost-and-found_leads_anish" {
+       team_id = (known after apply)
+       user    = "anish"
    }

  # forgejo_team_repository.lnf_lost_and_found will be created
+ resource "forgejo_team_repository" "lnf_lost_and_found" {
+       owner      = "ScottyLabs"
+       repository = "lost-and-found"
+       team_id    = (known after apply)
    }

  # forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2 will be destroyed
  # (because forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2 is not in configuration)
- resource "forgejo_team_repository" "lost-and-found-v2_leads_lost_and_found_v2" {
-       owner      = "ScottyLabs" -> null
-       repository = "lost-and-found-v2" -> null
-       team_id    = 41 -> null
    }

  # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created
+ resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" {
+       owner      = "ScottyLabs"
+       repository = "lost-and-found"
+       team_id    = (known after apply)
    }

  # forgejo_team_repository.lost-and-found_lost_and_found_v2 will be destroyed
  # (because forgejo_team_repository.lost-and-found_lost_and_found_v2 is not in configuration)
- resource "forgejo_team_repository" "lost-and-found_lost_and_found_v2" {
-       owner      = "ScottyLabs" -> null
-       repository = "lost-and-found-v2" -> null
-       team_id    = 5 -> null
    }

  # github_actions_repository_permissions.lnf_lost_and_found_actions will be created
+ resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" {
+       enabled              = false
+       id                   = (known after apply)
+       repository           = "lost-and-found"
+       sha_pinning_required = (known after apply)
    }

  # github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions will be destroyed
  # (because github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions is not in configuration)
- resource "github_actions_repository_permissions" "lost-and-found_lost_and_found_v2_actions" {
-       enabled              = false -> null
-       id                   = "lost-and-found-v2" -> null
-       repository           = "lost-and-found-v2" -> null
-       sha_pinning_required = false -> null
    }

  # github_repository.lnf_lost_and_found will be created
+ resource "github_repository" "lnf_lost_and_found" {
+       allow_auto_merge                        = false
+       allow_forking                           = (known after apply)
+       allow_merge_commit                      = true
+       allow_rebase_merge                      = true
+       allow_squash_merge                      = true
+       archived                                = false
+       default_branch                          = (known after apply)
+       delete_branch_on_merge                  = false
+       description                             = "READ-ONLY MIRROR"
+       etag                                    = (known after apply)
+       fork                                    = (known after apply)
+       full_name                               = (known after apply)
+       git_clone_url                           = (known after apply)
+       has_discussions                         = false
+       has_issues                              = false
+       has_projects                            = false
+       has_wiki                                = false
+       homepage_url                            = "https://git.cmu.dev/ScottyLabs/lost-and-found"
+       html_url                                = (known after apply)
+       http_clone_url                          = (known after apply)
+       id                                      = (known after apply)
+       ignore_vulnerability_alerts_during_read = false
+       merge_commit_message                    = "PR_TITLE"
+       merge_commit_title                      = "MERGE_MESSAGE"
+       name                                    = "lost-and-found"
+       node_id                                 = (known after apply)
+       primary_language                        = (known after apply)
+       private                                 = (known after apply)
+       repo_id                                 = (known after apply)
+       source_owner                            = (known after apply)
+       source_repo                             = (known after apply)
+       squash_merge_commit_message             = "COMMIT_MESSAGES"
+       squash_merge_commit_title               = "COMMIT_OR_PR_TITLE"
+       ssh_clone_url                           = (known after apply)
+       svn_url                                 = (known after apply)
+       topics                                  = (known after apply)
+       visibility                              = "public"
+       vulnerability_alerts                    = (known after apply)
+       web_commit_signoff_required             = (known after apply)

+       security_and_analysis (known after apply)
    }

  # github_repository.lost-and-found_lost_and_found_v2 will be destroyed
  # (because github_repository.lost-and-found_lost_and_found_v2 is not in configuration)
- resource "github_repository" "lost-and-found_lost_and_found_v2" {
-       allow_auto_merge                        = false -> null
-       allow_forking                           = true -> null
-       allow_merge_commit                      = true -> null
-       allow_rebase_merge                      = true -> null
-       allow_squash_merge                      = true -> null
-       allow_update_branch                     = false -> null
-       archived                                = false -> null
-       auto_init                               = false -> null
-       default_branch                          = "main" -> null
-       delete_branch_on_merge                  = false -> null
-       description                             = "READ-ONLY MIRROR" -> null
-       etag                                    = "W/\"2283e32cdff7bdc7dccc7d99b18af1105b8b06a43ebafa2c539a4b2f4a672aba\"" -> null
-       fork                                    = "false" -> null
-       full_name                               = "ScottyLabs/lost-and-found-v2" -> null
-       git_clone_url                           = "git://github.com/ScottyLabs/lost-and-found-v2.git" -> null
-       has_discussions                         = false -> null
-       has_downloads                           = false -> null
-       has_issues                              = false -> null
-       has_projects                            = false -> null
-       has_wiki                                = false -> null
-       homepage_url                            = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2" -> null
-       html_url                                = "https://github.com/ScottyLabs/lost-and-found-v2" -> null
-       http_clone_url                          = "https://github.com/ScottyLabs/lost-and-found-v2.git" -> null
-       id                                      = "lost-and-found-v2" -> null
-       ignore_vulnerability_alerts_during_read = false -> null
-       is_template                             = false -> null
-       merge_commit_message                    = "PR_TITLE" -> null
-       merge_commit_title                      = "MERGE_MESSAGE" -> null
-       name                                    = "lost-and-found-v2" -> null
-       node_id                                 = "MDEwOlJlcG9zaXRvcnkzMDg5NDM3MTM=" -> null
-       primary_language                        = "TypeScript" -> null
-       private                                 = false -> null
-       repo_id                                 = 308943713 -> null
-       squash_merge_commit_message             = "COMMIT_MESSAGES" -> null
-       squash_merge_commit_title               = "COMMIT_OR_PR_TITLE" -> null
-       ssh_clone_url                           = "git@github.com:ScottyLabs/lost-and-found-v2.git" -> null
-       svn_url                                 = "https://github.com/ScottyLabs/lost-and-found-v2" -> null
-       topics                                  = [] -> null
-       visibility                              = "public" -> null
-       vulnerability_alerts                    = false -> null
-       web_commit_signoff_required             = false -> null

-       security_and_analysis {
-           secret_scanning {
-               status = "disabled" -> null
            }
-           secret_scanning_push_protection {
-               status = "disabled" -> null
            }
        }
    }

  # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created
+ resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" {
+       etag       = (known after apply)
+       id         = (known after apply)
+       key        = (known after apply)
+       read_only  = false
+       repository = "lost-and-found"
+       title      = "Forgejo mirror"
    }

  # github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key will be destroyed
  # (because github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key is not in configuration)
- resource "github_repository_deploy_key" "lost-and-found_lost_and_found_v2_mirror_deploy_key" {
-       etag       = "W/\"59de9ffabb23be8fd2abd5a3df95c0547addd1fd1577266e569162ce1987e130\"" -> null
-       id         = "lost-and-found-v2:159665337" -> null
-       key        = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav" -> null
-       read_only  = false -> null
-       repository = "lost-and-found-v2" -> null
-       title      = "Forgejo mirror" -> null
    }

  # github_repository_ruleset.lnf_lost_and_found_ruleset will be created
+ resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" {
+       enforcement = "active"
+       etag        = (known after apply)
+       id          = (known after apply)
+       name        = "Default"
+       node_id     = (known after apply)
+       repository  = "lost-and-found"
+       ruleset_id  = (known after apply)
+       target      = "branch"

+       bypass_actors {
+           actor_id    = (known after apply)
+           actor_type  = "DeployKey"
+           bypass_mode = "always"
        }

+       conditions {
+           ref_name {
+               exclude = []
+               include = [
+                   "~ALL",
                ]
            }
        }

+       rules {
+           creation                      = true
+           deletion                      = true
+           non_fast_forward              = true
+           update                        = true
+           update_allows_fetch_and_merge = false

+           pull_request {
+               allowed_merge_methods             = (known after apply)
+               dismiss_stale_reviews_on_push     = false
+               require_code_owner_review         = false
+               require_last_push_approval        = false
+               required_approving_review_count   = 1
+               required_review_thread_resolution = false
            }
        }
    }

  # github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset will be destroyed
  # (because github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset is not in configuration)
- resource "github_repository_ruleset" "lost-and-found_lost_and_found_v2_ruleset" {
-       enforcement = "active" -> null
-       etag        = "W/\"315e5f125ce009f979d7d79dfaea0c8a2df863411cebc5f7832c1b906ae1da6a\"" -> null
-       id          = "18920618" -> null
-       name        = "Default" -> null
-       node_id     = "RRS_lACqUmVwb3NpdG9yec4SahthzgEgtKo" -> null
-       repository  = "lost-and-found-v2" -> null
-       ruleset_id  = 18920618 -> null
-       target      = "branch" -> null

-       bypass_actors {
-           actor_id    = 159665337 -> null
-           actor_type  = "DeployKey" -> null
-           bypass_mode = "always" -> null
        }

-       conditions {
-           ref_name {
-               exclude = [] -> null
-               include = [
-                   "~ALL",
                ] -> null
            }
        }

-       rules {
-           creation                      = true -> null
-           deletion                      = true -> null
-           non_fast_forward              = true -> null
-           required_linear_history       = false -> null
-           required_signatures           = false -> null
-           update                        = true -> null
-           update_allows_fetch_and_merge = false -> null

-           pull_request {
-               allowed_merge_methods             = [
-                   "merge",
-                   "squash",
-                   "rebase",
                ] -> null
-               dismiss_stale_reviews_on_push     = false -> null
-               require_code_owner_review         = false -> null
-               require_last_push_approval        = false -> null
-               required_approving_review_count   = 1 -> null
-               required_review_thread_resolution = false -> null
            }
        }
    }

  # github_team.lnf will be created
+ resource "github_team" "lnf" {
+       create_default_maintainer = false
+       etag                      = (known after apply)
+       id                        = (known after apply)
+       members_count             = (known after apply)
+       name                      = "Lost and Found"
+       node_id                   = (known after apply)
+       notification_setting      = "notifications_enabled"
+       parent_team_read_id       = (known after apply)
+       parent_team_read_slug     = (known after apply)
+       privacy                   = "closed"
+       slug                      = (known after apply)
    }

  # github_team.lost-and-found will be destroyed
  # (because github_team.lost-and-found is not in configuration)
- resource "github_team" "lost-and-found" {
-       create_default_maintainer = false -> null
-       etag                      = "W/\"d4f7ae94b38dd74f8312a90996fbe017bcacf9b4711f4d1f92c287ca0554b2ad\"" -> null
-       id                        = "4088608" -> null
-       members_count             = 60 -> null
-       name                      = "Lost and Found" -> null
-       node_id                   = "MDQ6VGVhbTQwODg2MDg=" -> null
-       notification_setting      = "notifications_enabled" -> null
-       privacy                   = "closed" -> null
-       slug                      = "lost-and-found" -> null
    }

  # github_team_membership.lnf_anish will be created
+ resource "github_team_membership" "lnf_anish" {
+       etag     = (known after apply)
+       id       = (known after apply)
+       role     = "maintainer"
+       team_id  = (known after apply)
+       username = "ap-1"
    }

  # github_team_membership.lost-and-found_anish will be destroyed
  # (because github_team_membership.lost-and-found_anish is not in configuration)
- resource "github_team_membership" "lost-and-found_anish" {
-       etag     = "W/\"59e741f8b82b934a35d60a94cd5b9cc8be6ba627c58234514b9aa752c46854c8\"" -> null
-       id       = "4088608:ap-1" -> null
-       role     = "maintainer" -> null
-       team_id  = "4088608" -> null
-       username = "ap-1" -> null
    }

  # restapi_object.lnf_lost_and_found_kennel_webhook will be created
+ resource "restapi_object" "lnf_lost_and_found_kennel_webhook" {
+       api_data        = (known after apply)
+       api_response    = (known after apply)
+       create_response = (known after apply)
+       data            = (sensitive value)
+       id              = (known after apply)
+       id_attribute    = "id"
+       path            = "/api/v1/repos/ScottyLabs/lost-and-found/hooks"
+       update_method   = "PATCH"
    }

  # restapi_object.lnf_lost_and_found_push_mirror will be created
+ resource "restapi_object" "lnf_lost_and_found_push_mirror" {
+       api_data        = (known after apply)
+       api_response    = (known after apply)
+       create_response = (known after apply)
+       data            = jsonencode(
            {
+               interval       = "8h0m0s"
+               remote_address = "git@github.com:ScottyLabs/lost-and-found.git"
+               sync_on_commit = true
+               use_ssh        = true
            }
        )
+       id              = (known after apply)
+       id_attribute    = "remote_name"
+       path            = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors"
    }

  # restapi_object.lost-and-found_lost_and_found_v2_push_mirror will be destroyed
  # (because restapi_object.lost-and-found_lost_and_found_v2_push_mirror is not in configuration)
- resource "restapi_object" "lost-and-found_lost_and_found_v2_push_mirror" {
-       api_data        = {
          - "branch_filter"  = ""
          - "created"        = "2026-08-08T15:50:02Z"
          - "interval"       = "8h0m0s"
          - "last_error"     = <<-EOT
                PushRejected Error: remote: error: GH013: Repository rule violations found for refs/heads/main.        
                remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                remote: 
                remote: - Cannot force-push to this branch        
                remote: 
                To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                 ! [remote rejected] main -> main (push declined due to repository rule violations)
                error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
                 - remote: error: GH013: Repository rule violations found for refs/heads/main.        
                remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                remote: 
                remote: - Cannot force-push to this branch        
                remote: 
                To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                 ! [remote rejected] main -> main (push declined due to repository rule violations)
                error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
                : remote: error: GH013: Repository rule violations found for refs/heads/main.        
                remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                remote: 
                remote: - Cannot force-push to this branch        
                remote: 
                To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                 ! [remote rejected] main -> main (push declined due to repository rule violations)
                error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
            EOT
          - "last_update"    = "2026-09-22T09:51:16Z"
          - "public_key"     = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav"
          - "remote_address" = "ssh://github.com/ScottyLabs/lost-and-found-v2.git"
          - "remote_name"    = "remote_mirror_n_UZBFU-CY4"
          - "repo_name"      = "lost-and-found-v2"
          - "sync_on_commit" = "true"
        } -> null
-       api_response    = jsonencode(
            {
-               branch_filter  = ""
-               created        = "2026-08-08T15:50:02Z"
-               interval       = "8h0m0s"
-               last_error     = <<-EOT
                    PushRejected Error: remote: error: GH013: Repository rule violations found for refs/heads/main.        
                    remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                    remote: 
                    remote: - Cannot force-push to this branch        
                    remote: 
                    To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                     ! [remote rejected] main -> main (push declined due to repository rule violations)
                    error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
                     - remote: error: GH013: Repository rule violations found for refs/heads/main.        
                    remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                    remote: 
                    remote: - Cannot force-push to this branch        
                    remote: 
                    To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                     ! [remote rejected] main -> main (push declined due to repository rule violations)
                    error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
                    : remote: error: GH013: Repository rule violations found for refs/heads/main.        
                    remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain        
                    remote: 
                    remote: - Cannot force-push to this branch        
                    remote: 
                    To ssh://github.com/ScottyLabs/lost-and-found-v2.git
                     ! [remote rejected] main -> main (push declined due to repository rule violations)
                    error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git'
                EOT
-               last_update    = "2026-09-22T09:51:16Z"
-               public_key     = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav"
-               remote_address = "ssh://github.com/ScottyLabs/lost-and-found-v2.git"
-               remote_name    = "remote_mirror_n_UZBFU-CY4"
-               repo_name      = "lost-and-found-v2"
-               sync_on_commit = true
            }
        ) -> null
-       create_response = jsonencode(
            {
-               branch_filter  = ""
-               created        = "2026-08-08T15:50:02Z"
-               interval       = "8h0m0s"
-               last_error     = ""
-               last_update    = "1970-01-01T00:00:00Z"
-               public_key     = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav"
-               remote_address = "ssh://github.com/ScottyLabs/lost-and-found-v2.git"
-               remote_name    = "remote_mirror_n_UZBFU-CY4"
-               repo_name      = "lost-and-found-v2"
-               sync_on_commit = true
            }
        ) -> null
-       data            = jsonencode(
            {
-               interval       = "8h0m0s"
-               remote_address = "git@github.com:ScottyLabs/lost-and-found-v2.git"
-               sync_on_commit = true
-               use_ssh        = true
            }
        ) -> null
-       id              = "remote_mirror_n_UZBFU-CY4" -> null
-       id_attribute    = "remote_name" -> null
-       path            = "/api/v1/repos/ScottyLabs/lost-and-found-v2/push_mirrors" -> null
    }

Plan: 15 to add, 0 to change, 14 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p git
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p git
    

Plan: 15 to add, 0 to change, 14 to destroy.


Plan Summary

9 projects, 9 with changes, 0 with no changes, 0 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
    
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock
    
Ran Plan for 9 projects: 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `sentry` dir: `tofu/sentry` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` --- ### 1. project: `posthog` dir: `tofu/posthog` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.31s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create OpenTofu will perform the following actions: # posthog_project.lnf_lost_and_found will be created + resource "posthog_project" "lnf_lost_and_found" { + api_token = (sensitive value) + id = (known after apply) + name = "lost-and-found" + organization_id = (known after apply) + timezone = (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_posthog_host will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_host" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/POSTHOG_HOST" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_posthog_key will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_posthog_key" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/POSTHOG_KEY" + path = (known after apply) + custom_metadata (known after apply) } Plan: 3 to add, 0 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p posthog ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fposthog%252Fdefault%252Fposthog) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p posthog ``` Plan: 3 to add, 0 to change, 0 to destroy. --- ### 2. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # null_resource.slack_bridge_login_lnf will be created + resource "null_resource" "slack_bridge_login_lnf" { + id = (known after apply) + triggers = { + "channel" = "C01BAADS8U8" } } # null_resource.slack_bridge_login_lost_and_found will be destroyed # (because null_resource.slack_bridge_login_lost_and_found is not in configuration) - resource "null_resource" "slack_bridge_login_lost_and_found" { - id = "1216724828657172829" -> null - triggers = { - "channel" = "C01BAADS8U8" } -> null } # synapse_mautrix_slack_link.lnf will be created + resource "synapse_mautrix_slack_link" "lnf" { + discord_channel_id = "1526510267607945326" + discord_relay_configured = (known after apply) + id = (known after apply) + room_alias = (known after apply) + room_id = (known after apply) + slack_bridged = (known after apply) + slack_channel_id = "C01BAADS8U8" + team_name = "Lost and Found" + team_slug = "lnf" } # synapse_mautrix_slack_link.lost_and_found will be destroyed # (because synapse_mautrix_slack_link.lost_and_found is not in configuration) - resource "synapse_mautrix_slack_link" "lost_and_found" { - discord_channel_id = "1526510267607945326" -> null - discord_relay_configured = true -> null - id = "1526510267607945326" -> null - room_alias = "discord_1526510267607945326" -> null - room_id = "!EkMLHYgoLjzCZwUrER:doggylabs.org" -> null - slack_bridged = true -> null - slack_channel_id = "C01BAADS8U8" -> null - team_name = "Lost and Found" -> null - team_slug = "lost-and-found" -> null } Plan: 2 to add, 0 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p matrix_bridges ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fmatrix_bridges%252Fdefault%252Fmatrix_bridges) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p matrix_bridges ``` Plan: 2 to add, 0 to change, 2 to destroy. --- ### 3. project: `openbao` dir: `tofu/openbao` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.45s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # vault_identity_group.lost-and-found-v2_admins will be destroyed # (because vault_identity_group.lost-and-found-v2_admins is not in configuration) - resource "vault_identity_group" "lost-and-found-v2_admins" { - external_member_entity_ids = false -> null - external_member_group_ids = false -> null - external_policies = false -> null - id = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null - member_entity_ids = [] -> null - member_group_ids = [] -> null - metadata = {} -> null - name = "lost-and-found-v2-admins" -> null - policies = [ - "lost-and-found-v2-prod", ] -> null - type = "external" -> null } # vault_identity_group.lost-and-found-v2_members will be destroyed # (because vault_identity_group.lost-and-found-v2_members is not in configuration) - resource "vault_identity_group" "lost-and-found-v2_members" { - external_member_entity_ids = false -> null - external_member_group_ids = false -> null - external_policies = false -> null - id = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null - member_entity_ids = [] -> null - member_group_ids = [] -> null - metadata = {} -> null - name = "lost-and-found-v2-members" -> null - policies = [ - "lost-and-found-v2-dev", ] -> null - type = "external" -> null } # vault_identity_group.lost-and-found_admins will be created + resource "vault_identity_group" "lost-and-found_admins" { + external_member_entity_ids = false + external_member_group_ids = false + external_policies = false + id = (known after apply) + name = "lost-and-found-admins" + policies = [ + "lost-and-found-prod", ] + type = "external" } # vault_identity_group.lost-and-found_members will be created + resource "vault_identity_group" "lost-and-found_members" { + external_member_entity_ids = false + external_member_group_ids = false + external_policies = false + id = (known after apply) + name = "lost-and-found-members" + policies = [ + "lost-and-found-dev", ] + type = "external" } # vault_identity_group_alias.lost-and-found-v2_admins will be destroyed # (because vault_identity_group_alias.lost-and-found-v2_admins is not in configuration) - resource "vault_identity_group_alias" "lost-and-found-v2_admins" { - canonical_id = "db8b5072-bb86-c9d0-e93f-951c2901bd15" -> null - id = "1cfbad81-e44c-d8f0-8a41-d13927f928a3" -> null - mount_accessor = "auth_oidc_375ac979" -> null - name = "/projects/lost-and-found-v2/admins" -> null } # vault_identity_group_alias.lost-and-found-v2_members will be destroyed # (because vault_identity_group_alias.lost-and-found-v2_members is not in configuration) - resource "vault_identity_group_alias" "lost-and-found-v2_members" { - canonical_id = "fffdf6c2-6142-513a-5803-68106a37c4da" -> null - id = "8ceaa676-01d4-18bf-4797-316124bc24f8" -> null - mount_accessor = "auth_oidc_375ac979" -> null - name = "/projects/lost-and-found-v2" -> null } # vault_identity_group_alias.lost-and-found_admins will be created + resource "vault_identity_group_alias" "lost-and-found_admins" { + canonical_id = (known after apply) + id = (known after apply) + mount_accessor = "auth_oidc_375ac979" + name = "/projects/lost-and-found/admins" } # vault_identity_group_alias.lost-and-found_members will be created + resource "vault_identity_group_alias" "lost-and-found_members" { + canonical_id = (known after apply) + id = (known after apply) + mount_accessor = "auth_oidc_375ac979" + name = "/projects/lost-and-found" } # vault_policy.lost-and-found-v2_dev will be destroyed # (because vault_policy.lost-and-found-v2_dev is not in configuration) - resource "vault_policy" "lost-and-found-v2_dev" { - id = "lost-and-found-v2-dev" -> null - name = "lost-and-found-v2-dev" -> null - policy = <<-EOT path "secret/data/secretspec/lost-and-found-v2/dev/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/dev/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/preview/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/preview/*" { capabilities = ["list", "read", "delete"] } EOT -> null } # vault_policy.lost-and-found-v2_prod will be destroyed # (because vault_policy.lost-and-found-v2_prod is not in configuration) - resource "vault_policy" "lost-and-found-v2_prod" { - id = "lost-and-found-v2-prod" -> null - name = "lost-and-found-v2-prod" -> null - policy = <<-EOT path "secret/data/secretspec/lost-and-found-v2/prod/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/prod/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/staging/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/staging/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found-v2/ci/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found-v2/ci/*" { capabilities = ["list", "read", "delete"] } EOT -> null } # vault_policy.lost-and-found_dev will be created + resource "vault_policy" "lost-and-found_dev" { + allow_overwrite = (known after apply) + id = (known after apply) + name = "lost-and-found-dev" + policy = <<-EOT path "secret/data/secretspec/lost-and-found/dev/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/dev/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/preview/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/preview/*" { capabilities = ["list", "read", "delete"] } EOT } # vault_policy.lost-and-found_prod will be created + resource "vault_policy" "lost-and-found_prod" { + allow_overwrite = (known after apply) + id = (known after apply) + name = "lost-and-found-prod" + policy = <<-EOT path "secret/data/secretspec/lost-and-found/prod/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/prod/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/staging/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/staging/*" { capabilities = ["list", "read", "delete"] } path "secret/data/secretspec/lost-and-found/ci/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "secret/metadata/secretspec/lost-and-found/ci/*" { capabilities = ["list", "read", "delete"] } EOT } Plan: 6 to add, 0 to change, 6 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p openbao ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fopenbao%252Fdefault%252Fopenbao) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p openbao ``` Plan: 6 to add, 0 to change, 6 to destroy. --- ### 4. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s 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 OpenTofu will perform the following actions: # garage_bucket.cdn_cmu-courses_courses will be updated in-place ! resource "garage_bucket" "cdn_cmu-courses_courses" { id = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd" # (3 unchanged attributes hidden) } # garage_bucket.cdn_cmu-housing_housing will be updated in-place ! resource "garage_bucket" "cdn_cmu-housing_housing" { id = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8" # (3 unchanged attributes hidden) } # garage_bucket.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_bucket.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_bucket" "cdn_lost-and-found_lost_and_found_v2" { - global_alias = "cdn-lost-and-found-v2" -> null - id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null - website_enabled = true -> null - website_index_document = "index.html" -> null } # garage_bucket.cdn_quest_quest will be updated in-place ! resource "garage_bucket" "cdn_quest_quest" { id = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46" # (3 unchanged attributes hidden) } # garage_bucket.cdn_uia_scottylabs_org will be updated in-place ! resource "garage_bucket" "cdn_uia_scottylabs_org" { id = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629" # (3 unchanged attributes hidden) } # garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_bucket_permission" "cdn_lost-and-found_lost_and_found_v2" { - access_key_id = "GK346a164e309800f54ffe8e62" -> null - bucket_id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df" -> null - id = "73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62" -> null - owner = true -> null - read = true -> null - write = true -> null } # garage_key.cdn_lost-and-found_lost_and_found_v2 will be destroyed # (because garage_key.cdn_lost-and-found_lost_and_found_v2 is not in configuration) - resource "garage_key" "cdn_lost-and-found_lost_and_found_v2" { - id = "GK346a164e309800f54ffe8e62" -> null - name = "cdn-lost-and-found-v2" -> null - secret_access_key = (sensitive value) -> null } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.186160616Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.259006595Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.31138075Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.327147996Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.187473529Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.185995421Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.410181069Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.362203004Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.444872871Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.17839492Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.490539823Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.269879855Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.397654588Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.263781342Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.21018715Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_access_key_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.197467535Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_public_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.25759Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.340961836Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.267457533Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key will be destroyed # (because vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key is not in configuration) - resource "vault_kv_secret_v2" "lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.525803479Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } Plan: 0 to add, 4 to change, 23 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p cdn ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fcdn%252Fdefault%252Fcdn) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p cdn ``` Plan: 0 to add, 4 to change, 23 to destroy. --- ### 5. project: `sentry` dir: `tofu/sentry` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.33s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create OpenTofu will perform the following actions: # sentry_key.lnf_lost_and_found will be created + resource "sentry_key" "lnf_lost_and_found" { + dsn = (sensitive value) + dsn_csp = (known after apply) + dsn_public = (known after apply) + dsn_secret = (sensitive value) + id = (known after apply) + javascript_loader_script = (known after apply) + name = "default" + organization = "scottylabs" + project = "lost-and-found" + project_id = (known after apply) + public = (known after apply) + rate_limit_count = (known after apply) + rate_limit_window = (known after apply) + secret = (sensitive value) } # sentry_project.lnf_lost_and_found will be created + resource "sentry_project" "lnf_lost_and_found" { + client_security = (known after apply) + digests_max_delay = (known after apply) + digests_min_delay = (known after apply) + features = (known after apply) + filters = (known after apply) + fingerprinting_rules = (known after apply) + grouping_enhancements = (known after apply) + highlight_tags = (known after apply) + id = (known after apply) + internal_id = (known after apply) + name = "lost-and-found" + organization = "scottylabs" + platform = "deno" + resolve_age = (known after apply) + slug = "lost-and-found" + teams = [ + "lnf", ] } # sentry_team.lnf will be created + resource "sentry_team" "lnf" { + has_access = (known after apply) + id = (known after apply) + internal_id = (known after apply) + is_member = (known after apply) + is_pending = (known after apply) + name = "Lost and Found" + organization = "scottylabs" + slug = "lnf" + team_id = (known after apply) } # vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn will be created + resource "vault_kv_secret_v2" "lnf_lost_and_found_sentry_dsn" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/SENTRY_DSN" + path = (known after apply) + custom_metadata (known after apply) } Plan: 4 to add, 0 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p sentry ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fsentry%252Fdefault%252Fsentry) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p sentry ``` Plan: 4 to add, 0 to change, 0 to destroy. --- ### 6. project: `slack` dir: `tofu/slack` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.32s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # null_resource.slack_lnf_ch0_anish will be created + resource "null_resource" "slack_lnf_ch0_anish" { + id = (known after apply) + triggers = { + "channel" = "C01BAADS8U8" + "user" = "U07FPJKFB5E" } } # null_resource.slack_lost-and-found_ch0_anish will be destroyed # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration) - resource "null_resource" "slack_lost-and-found_ch0_anish" { - id = "5751452929757186483" -> null - triggers = { - "channel" = "C01BAADS8U8" - "user" = "U07FPJKFB5E" } -> null } Plan: 1 to add, 0 to change, 1 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p slack ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fslack%252Fdefault%252Fslack) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p slack ``` Plan: 1 to add, 0 to change, 1 to destroy. --- ### 7. project: `keycloak` dir: `tofu/keycloak` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.24s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # keycloak_group.project_lnf_lost-and-found will be created + resource "keycloak_group" "project_lnf_lost-and-found" { + id = (known after apply) + name = "lost-and-found" + parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lnf_lost-and-found_admins will be created + resource "keycloak_group" "project_lnf_lost-and-found_admins" { + id = (known after apply) + name = "admins" + parent_id = (known after apply) + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" { - attributes = {} -> null - id = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null - name = "lost-and-found-v2" -> null - parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null - path = "/projects/lost-and-found-v2" -> null - realm_id = "scottylabs" -> null } # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" { - attributes = {} -> null - id = "7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null - name = "admins" -> null - parent_id = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null - path = "/projects/lost-and-found-v2/admins" -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lnf_lost-and-found will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" { - group_id = "c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null - id = "scottylabs/group-memberships/c14b4061-e3db-42c9-9b9e-a0c0a9747ce4" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" { - group_id = "7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null - id = "scottylabs/group-memberships/7879878f-16a8-4b07-835e-81a8a9e7b02f" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_openid_client.lost_and_found will be created + resource "keycloak_openid_client" "lost_and_found" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_dev will be created + resource "keycloak_openid_client" "lost_and_found_dev" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-dev" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-dev" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "http://localhost:8090/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_staging will be created + resource "keycloak_openid_client" "lost_and_found_staging" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-staging" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-staging" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_v2 will be destroyed # (because keycloak_openid_client.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "2a859823-1ba0-4652-9fa3-09fda0a2dd02" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_dev" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-dev" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "1d96bcb2-22ff-4ecc-906c-9a6640d53628" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-dev" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "http://localhost:8090/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_staging" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-staging" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "1b3ba192-6045-49ae-921a-f6b6a8c87d6d" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-staging" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "2a859823-1ba0-4652-9fa3-09fda0a2dd02" -> null - full_path = true -> null - id = "625b0235-de2b-4123-9f40-03673c106ff2" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "1d96bcb2-22ff-4ecc-906c-9a6640d53628" -> null - full_path = true -> null - id = "7db92e13-bccd-4061-b428-f365515ae4e9" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "1b3ba192-6045-49ae-921a-f6b6a8c87d6d" -> null - full_path = true -> null - id = "af64f61c-faec-43c6-be39-133c3b391954" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.445711513Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.489762124Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.445520864Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.511095839Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.226166994Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.294909478Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.081577294Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.555053764Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.301539281Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.343657296Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.311380227Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.475662767Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.323201341Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.067857326Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.420619993Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.385710643Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.301658694Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.401296317Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.229191527Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.19914559Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.166851646Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.445160942Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.389203653Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.489862793Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.219054519Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-07-14T08:50:10.23660194Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "1" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.048042952Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-07-22T02:55:03.337739474Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } Plan: 38 to add, 0 to change, 38 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p keycloak ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fkeycloak%252Fdefault%252Fkeycloak) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p keycloak ``` Plan: 38 to add, 0 to change, 38 to destroy. --- ### 8. project: `discord` dir: `tofu/discord` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.26s 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) - destroy OpenTofu will perform the following actions: # discord_channel_permission.lnf_ch0 will be created + resource "discord_channel_permission" "lnf_ch0" { + allow = 1024 + channel_id = "1526510267607945326" + id = (known after apply) + overwrite_id = (known after apply) + type = "role" } # discord_channel_permission.lost-and-found_ch0 will be destroyed # (because discord_channel_permission.lost-and-found_ch0 is not in configuration) - resource "discord_channel_permission" "lost-and-found_ch0" { - allow = 1024 -> null - channel_id = "1526510267607945326" -> null - deny = 0 -> null - id = "1526510267607945326:1526511044762271914:role" -> null - overwrite_id = "1526511044762271914" -> null - type = "role" -> null } # discord_member_roles.anish will be updated in-place ! resource "discord_member_roles" "anish" { id = "1353118209024331948:315249559473225729" # (2 unchanged attributes hidden) - role { - has_role = true -> null - role_id = "1526511044762271914" -> null } + role { + has_role = true + role_id = (known after apply) } # (14 unchanged blocks hidden) } # discord_role.lnf will be created + resource "discord_role" "lnf" { + hoist = false + id = (known after apply) + managed = (known after apply) + mentionable = false + name = "Lost and Found" + permissions = 0 + position = (known after apply) + server_id = "1353118209024331948" } # discord_role.lost-and-found will be destroyed # (because discord_role.lost-and-found is not in configuration) - resource "discord_role" "lost-and-found" { - color = 0 -> null - hoist = false -> null - id = "1526511044762271914" -> null - managed = false -> null - mentionable = false -> null - name = "Lost and Found" -> null - permissions = 0 -> null - position = 7 -> null - server_id = "1353118209024331948" -> null } Plan: 2 to add, 1 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p discord ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fdiscord%252Fdefault%252Fdiscord) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p discord ``` Plan: 2 to add, 1 to change, 2 to destroy. --- ### 9. project: `git` dir: `tofu/git` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.35s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # forgejo_repository.lnf_lost_and_found will be created + resource "forgejo_repository" "lnf_lost_and_found" { + allow_manual_merge = false + allow_merge_commits = true + allow_rebase = true + allow_rebase_explicit = true + allow_squash_merge = true + archive_on_destroy = false + archived = false + auto_init = true + autodetect_manual_merge = false + avatar_url = (known after apply) + clone_url = (known after apply) + created_at = (known after apply) + default_branch = "main" + default_merge_style = "merge" + description = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items" + empty = (known after apply) + external_tracker = (known after apply) + external_wiki = (known after apply) + fork = (known after apply) + forks_count = (known after apply) + full_name = (known after apply) + has_actions = true + has_issues = true + has_packages = true + has_projects = true + has_pull_requests = true + has_releases = true + has_wiki = true + html_url = (known after apply) + id = (known after apply) + ignore_whitespace_conflicts = false + internal = (known after apply) + internal_tracker = (known after apply) + labels = false + lfs = false + milestones = false + mirror = false + mirror_interval = (known after apply) + mirror_updated = (known after apply) + name = "lost-and-found" + open_issues_count = (known after apply) + open_pr_counter = (known after apply) + owner = "ScottyLabs" + parent_id = (known after apply) + permissions = (known after apply) + private = false + release_counter = (known after apply) + size = (known after apply) + ssh_url = (known after apply) + stars_count = (known after apply) + template = false + trust_model = "default" + updated_at = (known after apply) + watchers_count = (known after apply) + website = "https://lostandfound.andrew.cmu.edu/" } # forgejo_repository.lost-and-found_lost_and_found_v2 will be destroyed # (because forgejo_repository.lost-and-found_lost_and_found_v2 is not in configuration) - resource "forgejo_repository" "lost-and-found_lost_and_found_v2" { - allow_manual_merge = false -> null - allow_merge_commits = true -> null - allow_rebase = true -> null - allow_rebase_explicit = true -> null - allow_squash_merge = true -> null - archive_on_destroy = false -> null - archived = false -> null - auto_init = true -> null - autodetect_manual_merge = false -> null - clone_addr = "https://codeberg.org/ScottyLabs/lost-and-found-v2.git" -> null - clone_url = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2.git" -> null - created_at = "2026-08-08T10:28:04Z" -> null - default_branch = "main" -> null - default_merge_style = "merge" -> null - description = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items" -> null - empty = false -> null - fork = false -> null - forks_count = 0 -> null - full_name = "ScottyLabs/lost-and-found-v2" -> null - has_actions = true -> null - has_issues = true -> null - has_packages = true -> null - has_projects = true -> null - has_pull_requests = true -> null - has_releases = true -> null - has_wiki = true -> null - html_url = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2" -> null - id = 31 -> null - ignore_whitespace_conflicts = false -> null - internal = false -> null - internal_tracker = { - allow_only_contributors_to_track_time = true -> null - enable_issue_dependencies = true -> null - enable_time_tracker = true -> null } -> null - labels = false -> null - lfs = false -> null - milestones = false -> null - mirror = false -> null - mirror_updated = "0001-01-01T00:00:00Z" -> null - name = "lost-and-found-v2" -> null - open_issues_count = 0 -> null - open_pr_counter = 0 -> null - owner = "ScottyLabs" -> null - permissions = { - admin = true -> null - pull = true -> null - push = true -> null } -> null - private = false -> null - release_counter = 0 -> null - size = 30 -> null - ssh_url = "ssh://forgejo@git.cmu.dev/ScottyLabs/lost-and-found-v2.git" -> null - stars_count = 0 -> null - template = false -> null - trust_model = "default" -> null - updated_at = "2026-08-08T10:28:08Z" -> null - watchers_count = 3 -> null - website = "https://lostandfound.andrew.cmu.edu/" -> null } # forgejo_team.lnf will be created + resource "forgejo_team" "lnf" { + can_create_org_repo = (known after apply) + description = "Lost and Found" + id = (known after apply) + includes_all_repositories = (known after apply) + name = "lnf" + organization = (known after apply) + organization_id = 3 + permission = "write" + units_map = { + "repo.code" = "write" + "repo.issues" = "write" + "repo.pulls" = "write" } } # forgejo_team.lost-and-found will be destroyed # (because forgejo_team.lost-and-found is not in configuration) - resource "forgejo_team" "lost-and-found" { - can_create_org_repo = false -> null - description = "Lost and Found" -> null - id = 5 -> null - includes_all_repositories = false -> null - name = "lost-and-found" -> null - organization = "ScottyLabs" -> null - organization_id = 3 -> null - permission = "write" -> null - units_map = { - "repo.code" = "write" - "repo.issues" = "write" - "repo.pulls" = "write" } -> null } # forgejo_team.lost-and-found-v2_leads will be destroyed # (because forgejo_team.lost-and-found-v2_leads is not in configuration) - resource "forgejo_team" "lost-and-found-v2_leads" { - can_create_org_repo = false -> null - description = "Lost and Found leads" -> null - id = 41 -> null - includes_all_repositories = false -> null - name = "lost-and-found-v2-leads" -> null - organization = "ScottyLabs" -> null - organization_id = 3 -> null - permission = "admin" -> null - units_map = { - "repo.actions" = "admin" - "repo.code" = "admin" - "repo.ext_issues" = "admin" - "repo.ext_wiki" = "admin" - "repo.issues" = "admin" - "repo.packages" = "admin" - "repo.projects" = "admin" - "repo.pulls" = "admin" - "repo.releases" = "admin" - "repo.wiki" = "admin" } -> null } # forgejo_team.lost-and-found_leads will be created + resource "forgejo_team" "lost-and-found_leads" { + can_create_org_repo = false + description = "Lost and Found leads" + id = (known after apply) + includes_all_repositories = false + name = "lost-and-found-leads" + organization = (known after apply) + organization_id = 3 + permission = "admin" + units_map = { + "repo.actions" = "admin" + "repo.code" = "admin" + "repo.ext_issues" = "admin" + "repo.ext_wiki" = "admin" + "repo.issues" = "admin" + "repo.packages" = "admin" + "repo.projects" = "admin" + "repo.pulls" = "admin" + "repo.releases" = "admin" + "repo.wiki" = "admin" } } # forgejo_team_member.lnf_anish will be created + resource "forgejo_team_member" "lnf_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_member.lost-and-found-v2_leads_anish will be destroyed # (because forgejo_team_member.lost-and-found-v2_leads_anish is not in configuration) - resource "forgejo_team_member" "lost-and-found-v2_leads_anish" { - team_id = 41 -> null - user = "anish" -> null } # forgejo_team_member.lost-and-found_anish will be destroyed # (because forgejo_team_member.lost-and-found_anish is not in configuration) - resource "forgejo_team_member" "lost-and-found_anish" { - team_id = 5 -> null - user = "anish" -> null } # forgejo_team_member.lost-and-found_leads_anish will be created + resource "forgejo_team_member" "lost-and-found_leads_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_repository.lnf_lost_and_found will be created + resource "forgejo_team_repository" "lnf_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2 will be destroyed # (because forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2 is not in configuration) - resource "forgejo_team_repository" "lost-and-found-v2_leads_lost_and_found_v2" { - owner = "ScottyLabs" -> null - repository = "lost-and-found-v2" -> null - team_id = 41 -> null } # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created + resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # forgejo_team_repository.lost-and-found_lost_and_found_v2 will be destroyed # (because forgejo_team_repository.lost-and-found_lost_and_found_v2 is not in configuration) - resource "forgejo_team_repository" "lost-and-found_lost_and_found_v2" { - owner = "ScottyLabs" -> null - repository = "lost-and-found-v2" -> null - team_id = 5 -> null } # github_actions_repository_permissions.lnf_lost_and_found_actions will be created + resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" { + enabled = false + id = (known after apply) + repository = "lost-and-found" + sha_pinning_required = (known after apply) } # github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions will be destroyed # (because github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions is not in configuration) - resource "github_actions_repository_permissions" "lost-and-found_lost_and_found_v2_actions" { - enabled = false -> null - id = "lost-and-found-v2" -> null - repository = "lost-and-found-v2" -> null - sha_pinning_required = false -> null } # github_repository.lnf_lost_and_found will be created + resource "github_repository" "lnf_lost_and_found" { + allow_auto_merge = false + allow_forking = (known after apply) + allow_merge_commit = true + allow_rebase_merge = true + allow_squash_merge = true + archived = false + default_branch = (known after apply) + delete_branch_on_merge = false + description = "READ-ONLY MIRROR" + etag = (known after apply) + fork = (known after apply) + full_name = (known after apply) + git_clone_url = (known after apply) + has_discussions = false + has_issues = false + has_projects = false + has_wiki = false + homepage_url = "https://git.cmu.dev/ScottyLabs/lost-and-found" + html_url = (known after apply) + http_clone_url = (known after apply) + id = (known after apply) + ignore_vulnerability_alerts_during_read = false + merge_commit_message = "PR_TITLE" + merge_commit_title = "MERGE_MESSAGE" + name = "lost-and-found" + node_id = (known after apply) + primary_language = (known after apply) + private = (known after apply) + repo_id = (known after apply) + source_owner = (known after apply) + source_repo = (known after apply) + squash_merge_commit_message = "COMMIT_MESSAGES" + squash_merge_commit_title = "COMMIT_OR_PR_TITLE" + ssh_clone_url = (known after apply) + svn_url = (known after apply) + topics = (known after apply) + visibility = "public" + vulnerability_alerts = (known after apply) + web_commit_signoff_required = (known after apply) + security_and_analysis (known after apply) } # github_repository.lost-and-found_lost_and_found_v2 will be destroyed # (because github_repository.lost-and-found_lost_and_found_v2 is not in configuration) - resource "github_repository" "lost-and-found_lost_and_found_v2" { - allow_auto_merge = false -> null - allow_forking = true -> null - allow_merge_commit = true -> null - allow_rebase_merge = true -> null - allow_squash_merge = true -> null - allow_update_branch = false -> null - archived = false -> null - auto_init = false -> null - default_branch = "main" -> null - delete_branch_on_merge = false -> null - description = "READ-ONLY MIRROR" -> null - etag = "W/\"2283e32cdff7bdc7dccc7d99b18af1105b8b06a43ebafa2c539a4b2f4a672aba\"" -> null - fork = "false" -> null - full_name = "ScottyLabs/lost-and-found-v2" -> null - git_clone_url = "git://github.com/ScottyLabs/lost-and-found-v2.git" -> null - has_discussions = false -> null - has_downloads = false -> null - has_issues = false -> null - has_projects = false -> null - has_wiki = false -> null - homepage_url = "https://git.cmu.dev/ScottyLabs/lost-and-found-v2" -> null - html_url = "https://github.com/ScottyLabs/lost-and-found-v2" -> null - http_clone_url = "https://github.com/ScottyLabs/lost-and-found-v2.git" -> null - id = "lost-and-found-v2" -> null - ignore_vulnerability_alerts_during_read = false -> null - is_template = false -> null - merge_commit_message = "PR_TITLE" -> null - merge_commit_title = "MERGE_MESSAGE" -> null - name = "lost-and-found-v2" -> null - node_id = "MDEwOlJlcG9zaXRvcnkzMDg5NDM3MTM=" -> null - primary_language = "TypeScript" -> null - private = false -> null - repo_id = 308943713 -> null - squash_merge_commit_message = "COMMIT_MESSAGES" -> null - squash_merge_commit_title = "COMMIT_OR_PR_TITLE" -> null - ssh_clone_url = "git@github.com:ScottyLabs/lost-and-found-v2.git" -> null - svn_url = "https://github.com/ScottyLabs/lost-and-found-v2" -> null - topics = [] -> null - visibility = "public" -> null - vulnerability_alerts = false -> null - web_commit_signoff_required = false -> null - security_and_analysis { - secret_scanning { - status = "disabled" -> null } - secret_scanning_push_protection { - status = "disabled" -> null } } } # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created + resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" { + etag = (known after apply) + id = (known after apply) + key = (known after apply) + read_only = false + repository = "lost-and-found" + title = "Forgejo mirror" } # github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key will be destroyed # (because github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key is not in configuration) - resource "github_repository_deploy_key" "lost-and-found_lost_and_found_v2_mirror_deploy_key" { - etag = "W/\"59de9ffabb23be8fd2abd5a3df95c0547addd1fd1577266e569162ce1987e130\"" -> null - id = "lost-and-found-v2:159665337" -> null - key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav" -> null - read_only = false -> null - repository = "lost-and-found-v2" -> null - title = "Forgejo mirror" -> null } # github_repository_ruleset.lnf_lost_and_found_ruleset will be created + resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" { + enforcement = "active" + etag = (known after apply) + id = (known after apply) + name = "Default" + node_id = (known after apply) + repository = "lost-and-found" + ruleset_id = (known after apply) + target = "branch" + bypass_actors { + actor_id = (known after apply) + actor_type = "DeployKey" + bypass_mode = "always" } + conditions { + ref_name { + exclude = [] + include = [ + "~ALL", ] } } + rules { + creation = true + deletion = true + non_fast_forward = true + update = true + update_allows_fetch_and_merge = false + pull_request { + allowed_merge_methods = (known after apply) + dismiss_stale_reviews_on_push = false + require_code_owner_review = false + require_last_push_approval = false + required_approving_review_count = 1 + required_review_thread_resolution = false } } } # github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset will be destroyed # (because github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset is not in configuration) - resource "github_repository_ruleset" "lost-and-found_lost_and_found_v2_ruleset" { - enforcement = "active" -> null - etag = "W/\"315e5f125ce009f979d7d79dfaea0c8a2df863411cebc5f7832c1b906ae1da6a\"" -> null - id = "18920618" -> null - name = "Default" -> null - node_id = "RRS_lACqUmVwb3NpdG9yec4SahthzgEgtKo" -> null - repository = "lost-and-found-v2" -> null - ruleset_id = 18920618 -> null - target = "branch" -> null - bypass_actors { - actor_id = 159665337 -> null - actor_type = "DeployKey" -> null - bypass_mode = "always" -> null } - conditions { - ref_name { - exclude = [] -> null - include = [ - "~ALL", ] -> null } } - rules { - creation = true -> null - deletion = true -> null - non_fast_forward = true -> null - required_linear_history = false -> null - required_signatures = false -> null - update = true -> null - update_allows_fetch_and_merge = false -> null - pull_request { - allowed_merge_methods = [ - "merge", - "squash", - "rebase", ] -> null - dismiss_stale_reviews_on_push = false -> null - require_code_owner_review = false -> null - require_last_push_approval = false -> null - required_approving_review_count = 1 -> null - required_review_thread_resolution = false -> null } } } # github_team.lnf will be created + resource "github_team" "lnf" { + create_default_maintainer = false + etag = (known after apply) + id = (known after apply) + members_count = (known after apply) + name = "Lost and Found" + node_id = (known after apply) + notification_setting = "notifications_enabled" + parent_team_read_id = (known after apply) + parent_team_read_slug = (known after apply) + privacy = "closed" + slug = (known after apply) } # github_team.lost-and-found will be destroyed # (because github_team.lost-and-found is not in configuration) - resource "github_team" "lost-and-found" { - create_default_maintainer = false -> null - etag = "W/\"d4f7ae94b38dd74f8312a90996fbe017bcacf9b4711f4d1f92c287ca0554b2ad\"" -> null - id = "4088608" -> null - members_count = 60 -> null - name = "Lost and Found" -> null - node_id = "MDQ6VGVhbTQwODg2MDg=" -> null - notification_setting = "notifications_enabled" -> null - privacy = "closed" -> null - slug = "lost-and-found" -> null } # github_team_membership.lnf_anish will be created + resource "github_team_membership" "lnf_anish" { + etag = (known after apply) + id = (known after apply) + role = "maintainer" + team_id = (known after apply) + username = "ap-1" } # github_team_membership.lost-and-found_anish will be destroyed # (because github_team_membership.lost-and-found_anish is not in configuration) - resource "github_team_membership" "lost-and-found_anish" { - etag = "W/\"59e741f8b82b934a35d60a94cd5b9cc8be6ba627c58234514b9aa752c46854c8\"" -> null - id = "4088608:ap-1" -> null - role = "maintainer" -> null - team_id = "4088608" -> null - username = "ap-1" -> null } # restapi_object.lnf_lost_and_found_kennel_webhook will be created + resource "restapi_object" "lnf_lost_and_found_kennel_webhook" { + api_data = (known after apply) + api_response = (known after apply) + create_response = (known after apply) + data = (sensitive value) + id = (known after apply) + id_attribute = "id" + path = "/api/v1/repos/ScottyLabs/lost-and-found/hooks" + update_method = "PATCH" } # restapi_object.lnf_lost_and_found_push_mirror will be created + resource "restapi_object" "lnf_lost_and_found_push_mirror" { + api_data = (known after apply) + api_response = (known after apply) + create_response = (known after apply) + data = jsonencode( { + interval = "8h0m0s" + remote_address = "git@github.com:ScottyLabs/lost-and-found.git" + sync_on_commit = true + use_ssh = true } ) + id = (known after apply) + id_attribute = "remote_name" + path = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors" } # restapi_object.lost-and-found_lost_and_found_v2_push_mirror will be destroyed # (because restapi_object.lost-and-found_lost_and_found_v2_push_mirror is not in configuration) - resource "restapi_object" "lost-and-found_lost_and_found_v2_push_mirror" { - api_data = { - "branch_filter" = "" - "created" = "2026-08-08T15:50:02Z" - "interval" = "8h0m0s" - "last_error" = <<-EOT PushRejected Error: remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' - remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' : remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' EOT - "last_update" = "2026-09-22T09:51:16Z" - "public_key" = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav" - "remote_address" = "ssh://github.com/ScottyLabs/lost-and-found-v2.git" - "remote_name" = "remote_mirror_n_UZBFU-CY4" - "repo_name" = "lost-and-found-v2" - "sync_on_commit" = "true" } -> null - api_response = jsonencode( { - branch_filter = "" - created = "2026-08-08T15:50:02Z" - interval = "8h0m0s" - last_error = <<-EOT PushRejected Error: remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' - remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' : remote: error: GH013: Repository rule violations found for refs/heads/main. remote: Review all repository rules at https://github.com/ScottyLabs/lost-and-found-v2/rules?ref=refs%2Fheads%2Fmain remote: remote: - Cannot force-push to this branch remote: To ssh://github.com/ScottyLabs/lost-and-found-v2.git ! [remote rejected] main -> main (push declined due to repository rule violations) error: failed to push some refs to 'ssh://github.com/ScottyLabs/lost-and-found-v2.git' EOT - last_update = "2026-09-22T09:51:16Z" - public_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav" - remote_address = "ssh://github.com/ScottyLabs/lost-and-found-v2.git" - remote_name = "remote_mirror_n_UZBFU-CY4" - repo_name = "lost-and-found-v2" - sync_on_commit = true } ) -> null - create_response = jsonencode( { - branch_filter = "" - created = "2026-08-08T15:50:02Z" - interval = "8h0m0s" - last_error = "" - last_update = "1970-01-01T00:00:00Z" - public_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB2QNETyKseciJDpmTPgJTlh/4VSoiC2Rfk7iiDXZEav" - remote_address = "ssh://github.com/ScottyLabs/lost-and-found-v2.git" - remote_name = "remote_mirror_n_UZBFU-CY4" - repo_name = "lost-and-found-v2" - sync_on_commit = true } ) -> null - data = jsonencode( { - interval = "8h0m0s" - remote_address = "git@github.com:ScottyLabs/lost-and-found-v2.git" - sync_on_commit = true - use_ssh = true } ) -> null - id = "remote_mirror_n_UZBFU-CY4" -> null - id_attribute = "remote_name" -> null - path = "/api/v1/repos/ScottyLabs/lost-and-found-v2/push_mirrors" -> null } Plan: 15 to add, 0 to change, 14 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p git ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fgit%252Fdefault%252Fgit) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p git ``` Plan: 15 to add, 0 to change, 14 to destroy. --- ### Plan Summary 9 projects, 9 with changes, 0 with no changes, 0 failed * :fast_forward: To **apply** all unapplied plans from this Pull Request, comment: ```shell atlantis apply ``` * :put_litter_in_its_place: To **delete** all plans and locks from this Pull Request, comment: ```shell atlantis unlock ```
Author
Owner

atlantis apply

atlantis apply

Ran Apply for 9 projects:

  1. project: slack dir: tofu/slack workspace: default
  2. project: cdn dir: tofu/cdn workspace: default
  3. project: openbao dir: tofu/openbao workspace: default
  4. project: posthog dir: tofu/posthog workspace: default
  5. project: discord dir: tofu/discord workspace: default
  6. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  7. project: keycloak dir: tofu/keycloak workspace: default
  8. project: sentry dir: tofu/sentry workspace: default
  9. project: git dir: tofu/git workspace: default

1. project: slack dir: tofu/slack workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.44s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
null_resource.slack_lost-and-found_ch0_anish: Destroying... [id=5751452929757186483]
null_resource.slack_lost-and-found_ch0_anish: Destruction complete after 0s
null_resource.slack_lnf_ch0_anish: Creating...
null_resource.slack_lnf_ch0_anish: Provisioning with 'local-exec'...
null_resource.slack_lnf_ch0_anish (local-exec): Executing: ["/bin/sh" "-c" "governance slack-invite --channel C01BAADS8U8 --user U07FPJKFB5E"]
null_resource.slack_lnf_ch0_anish: Creation complete after 0s [id=2609041992356120627]

Apply complete! Resources: 1 added, 0 changed, 1 destroyed.

2. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.36s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url: Destruction complete after 0s
garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id: Destruction complete after 0s
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket: Destruction complete after 0s
garage_bucket.cdn_cmu-courses_courses: Modifying... [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key: Destruction complete after 0s
garage_bucket.cdn_cmu-housing_housing: Modifying... [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8]
garage_bucket.cdn_uia_scottylabs_org: Modifying... [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629]
vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket: Destruction complete after 0s
garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s
garage_bucket.cdn_quest_quest: Modifying... [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46]
garage_bucket.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df]
garage_key.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=GK346a164e309800f54ffe8e62]
garage_bucket.cdn_cmu-housing_housing: Modifications complete after 0s [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8]
garage_bucket.cdn_cmu-courses_courses: Modifications complete after 0s [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd]
garage_bucket.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s
garage_bucket.cdn_quest_quest: Modifications complete after 0s [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46]
garage_bucket.cdn_uia_scottylabs_org: Modifications complete after 0s [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629]
garage_key.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s

Apply complete! Resources: 0 added, 4 changed, 23 destroyed.

3. project: openbao dir: tofu/openbao workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.29s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
vault_identity_group_alias.lost-and-found-v2_members: Destroying... [id=8ceaa676-01d4-18bf-4797-316124bc24f8]
vault_identity_group_alias.lost-and-found-v2_admins: Destroying... [id=1cfbad81-e44c-d8f0-8a41-d13927f928a3]
vault_policy.lost-and-found-v2_dev: Destroying... [id=lost-and-found-v2-dev]
vault_policy.lost-and-found-v2_prod: Destroying... [id=lost-and-found-v2-prod]
vault_policy.lost-and-found_prod: Creating...
vault_identity_group.lost-and-found_members: Creating...
vault_identity_group.lost-and-found_admins: Creating...
vault_policy.lost-and-found_dev: Creating...
vault_policy.lost-and-found-v2_dev: Destruction complete after 0s
vault_policy.lost-and-found-v2_prod: Destruction complete after 0s
vault_identity_group_alias.lost-and-found-v2_members: Destruction complete after 0s
vault_identity_group.lost-and-found-v2_members: Destroying... [id=fffdf6c2-6142-513a-5803-68106a37c4da]
vault_identity_group.lost-and-found_members: Creation complete after 0s [id=177e12c6-43dc-7c44-1cdf-85b97d6c8eec]
vault_identity_group_alias.lost-and-found_members: Creating...
vault_identity_group.lost-and-found_admins: Creation complete after 0s [id=3ad663c2-9db5-a619-8224-d9d6d86e3947]
vault_identity_group_alias.lost-and-found_admins: Creating...
vault_identity_group_alias.lost-and-found-v2_admins: Destruction complete after 0s
vault_identity_group.lost-and-found-v2_admins: Destroying... [id=db8b5072-bb86-c9d0-e93f-951c2901bd15]
vault_policy.lost-and-found_dev: Creation complete after 0s [id=lost-and-found-dev]
vault_identity_group.lost-and-found-v2_members: Destruction complete after 0s
vault_policy.lost-and-found_prod: Creation complete after 0s [id=lost-and-found-prod]
vault_identity_group.lost-and-found-v2_admins: Destruction complete after 0s
vault_identity_group_alias.lost-and-found_members: Creation complete after 0s [id=dd03a522-e30d-aa67-edbb-26566bd80bc9]
vault_identity_group_alias.lost-and-found_admins: Creation complete after 0s [id=5d079b7e-75f1-c6ae-ae74-07154a430703]

Apply complete! Resources: 6 added, 0 changed, 6 destroyed.

4. project: posthog dir: tofu/posthog workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.28s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
posthog_project.lnf_lost_and_found: Creating...
vault_kv_secret_v2.lnf_lost_and_found_posthog_host: Creating...
vault_kv_secret_v2.lnf_lost_and_found_posthog_host: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/POSTHOG_HOST]
posthog_project.lnf_lost_and_found: Creation complete after 1s [name=lost-and-found]
vault_kv_secret_v2.lnf_lost_and_found_posthog_key: Creating...
vault_kv_secret_v2.lnf_lost_and_found_posthog_key: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/prod/POSTHOG_KEY]

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

5. project: discord dir: tofu/discord workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.35s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
discord_channel_permission.lost-and-found_ch0: Destroying... [id=1526510267607945326:1526511044762271914:role]
discord_role.lnf: Creating...
discord_channel_permission.lost-and-found_ch0: Destruction complete after 0s
discord_role.lost-and-found: Destroying... [id=1526511044762271914]
discord_role.lnf: Creation complete after 0s [id=1551906337150074893]
discord_channel_permission.lnf_ch0: Creating...
discord_channel_permission.lnf_ch0: Creation complete after 0s [id=1526510267607945326:1551906337150074893:role]
discord_role.lost-and-found: Destruction complete after 0s
discord_member_roles.anish: Modifying... [id=1353118209024331948:315249559473225729]
discord_member_roles.anish: Modifications complete after 1s [id=1353118209024331948:315249559473225729]

Apply complete! Resources: 2 added, 1 changed, 2 destroyed.

6. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Show Output
Finished `release` profile [optimized] target(s) in 0.14s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
null_resource.slack_bridge_login_lnf: Creating...
null_resource.slack_bridge_login_lnf: Provisioning with 'local-exec'...
null_resource.slack_bridge_login_lnf (local-exec): Executing: ["/bin/sh" "-c" "governance slack-join --channel C01BAADS8U8"]
synapse_mautrix_slack_link.lost_and_found: Destroying... [id=1526510267607945326]
synapse_mautrix_slack_link.lost_and_found: Destruction complete after 0s
null_resource.slack_bridge_login_lost_and_found: Destroying... [id=1216724828657172829]
null_resource.slack_bridge_login_lost_and_found: Destruction complete after 0s
null_resource.slack_bridge_login_lnf: Creation complete after 0s [id=4404938118871409688]
synapse_mautrix_slack_link.lnf: Creating...
synapse_mautrix_slack_link.lnf: Creation complete after 3s [id=1526510267607945326]

Apply complete! Resources: 2 added, 0 changed, 2 destroyed.

7. project: keycloak dir: tofu/keycloak workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.41s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_prod_project_group: Creating...
vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_group: Creating...
vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_prod_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_preview_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM]
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=scottylabs/group-memberships/7879878f-16a8-4b07-835e-81a8a9e7b02f]
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destruction complete after 0s
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destroying... [id=7db92e13-bccd-4061-b428-f365515ae4e9]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destroying... [id=625b0235-de2b-4123-9f40-03673c106ff2]
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destruction complete after 0s
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destroying... [id=scottylabs/group-memberships/c14b4061-e3db-42c9-9b9e-a0c0a9747ce4]
vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destruction complete after 0s
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destroying... [id=af64f61c-faec-43c6-be39-133c3b391954]
vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_dev_project_group: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_staging_project_group: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destruction complete after 1s
vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_dev_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_staging_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_GROUP]
keycloak_openid_client.lost_and_found_v2_dev: Destroying... [id=1d96bcb2-22ff-4ecc-906c-9a6640d53628]
vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OAUTH_RELAY_URL]
keycloak_openid_client.lost_and_found_v2: Destroying... [id=2a859823-1ba0-4652-9fa3-09fda0a2dd02]
keycloak_openid_client.lost_and_found_v2_staging: Destroying... [id=1b3ba192-6045-49ae-921a-f6b6a8c87d6d]
vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OAUTH_RELAY_URL]
keycloak_openid_client.lost_and_found_dev: Creating...
vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_URL]
keycloak_openid_client.lost_and_found_staging: Creating...
vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_URL]
keycloak_openid_client.lost_and_found: Creating...
vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_REALM]
keycloak_group.project_lnf_lost-and-found: Creating...
keycloak_openid_client.lost_and_found_v2_dev: Destruction complete after 0s
keycloak_group.project_lnf_lost-and-found: Creation complete after 0s [id=444791a2-93f4-44ae-874c-e42216c4937a]
keycloak_group_memberships.project_lnf_lost-and-found: Creating...
keycloak_group.project_lnf_lost-and-found_admins: Creating...
keycloak_openid_client.lost_and_found_v2: Destruction complete after 0s
keycloak_openid_client.lost_and_found_v2_staging: Destruction complete after 0s
keycloak_openid_client.lost_and_found_staging: Creation complete after 0s [id=47be46f1-7fda-4fd1-919b-aeb3d8882e7b]
vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creating...
vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creating...
vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creating...
keycloak_openid_client.lost_and_found_dev: Creation complete after 0s [id=e74f9cfa-e811-4d4e-9585-668b3fa68031]
vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creating...
keycloak_openid_client.lost_and_found: Creation complete after 0s [id=f35986db-c6ce-4443-ba5a-d4b2c92922fe]
vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creating...
keycloak_group.project_lnf_lost-and-found_admins: Creation complete after 0s [id=014d88de-b5d5-4386-aacf-3c07ab1b2022]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creating...
vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creating...
vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creation complete after 0s [id=9155cec5-e12d-4af8-a70a-21c9d299b531]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creating...
vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_ID]
keycloak_group_memberships.project_lnf_lost-and-found_admins: Creating...
vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_ID]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creation complete after 0s [id=18d82ffa-8195-4856-a60f-9de6ac7be2bc]
vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET]
keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creation complete after 0s [id=b3acb0c6-cebb-4ca6-a731-c63592de3677]
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 2s
keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=7879878f-16a8-4b07-835e-81a8a9e7b02f]
keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 0s
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destruction complete after 2s
keycloak_group.project_lost-and-found_lost-and-found-v2: Destroying... [id=c14b4061-e3db-42c9-9b9e-a0c0a9747ce4]
keycloak_group.project_lost-and-found_lost-and-found-v2: Destruction complete after 0s
keycloak_group_memberships.project_lnf_lost-and-found: Creation complete after 2s [id=scottylabs/group-memberships/444791a2-93f4-44ae-874c-e42216c4937a]
keycloak_group_memberships.project_lnf_lost-and-found_admins: Creation complete after 2s [id=scottylabs/group-memberships/014d88de-b5d5-4386-aacf-3c07ab1b2022]

Apply complete! Resources: 38 added, 0 changed, 38 destroyed.

8. project: sentry dir: tofu/sentry workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.36s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
sentry_team.lnf: Creating...
sentry_team.lnf: Creation complete after 1s [id=lnf]
sentry_project.lnf_lost_and_found: Creating...
sentry_project.lnf_lost_and_found: Creation complete after 4s [id=lost-and-found]
sentry_key.lnf_lost_and_found: Creating...
sentry_key.lnf_lost_and_found: Creation complete after 0s [id=b4e0a7e9b5fe5b034101380ae2e7c254]
vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn: Creating...
vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/SENTRY_DSN]

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

9. project: git dir: tofu/git workspace: default

Apply Error

Show Output
running '/nix/store/6knnwrwxlzs7f7rlr14b8agk69aa3w5b-opentofu-1.12.6/bin/tofu apply -input=false /var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git/git-default.tfplan' in '/var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git': exit status 1
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
github_team_membership.lost-and-found_anish: Destroying... [id=4088608:ap-1]
github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Destroying... [id=lost-and-found-v2]
github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Destroying... [id=18920618]
github_repository.lnf_lost_and_found: Creating...
github_team.lnf: Creating...
forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Destroying...
forgejo_team_member.lost-and-found_anish: Destroying...
forgejo_team.lnf: Creating...
forgejo_team.lost-and-found_leads: Creating...
forgejo_team_member.lost-and-found-v2_leads_anish: Destroying...
forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Destruction complete after 1s
forgejo_team_repository.lost-and-found_lost_and_found_v2: Destroying...
forgejo_repository.lnf_lost_and_found: Creating...
forgejo_team_member.lost-and-found-v2_leads_anish: Destruction complete after 1s
forgejo_team.lost-and-found-v2_leads: Destroying... [name=lost-and-found-v2-leads]
forgejo_team_repository.lost-and-found_lost_and_found_v2: Destruction complete after 0s
forgejo_team.lost-and-found_leads: Creation complete after 1s [name=lost-and-found-leads]
forgejo_team_member.lost-and-found_leads_anish: Creating...
forgejo_team.lnf: Creation complete after 1s [name=lnf]
forgejo_team_member.lnf_anish: Creating...
forgejo_team.lost-and-found-v2_leads: Destruction complete after 0s
forgejo_team_member.lost-and-found_leads_anish: Creation complete after 0s
forgejo_team_member.lnf_anish: Creation complete after 0s
github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Destruction complete after 1s
github_team_membership.lost-and-found_anish: Destruction complete after 2s
github_team.lost-and-found: Destroying... [id=4088608]
github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Destruction complete after 4s
github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Destroying... [id=lost-and-found-v2:159665337]
github_team.lost-and-found: Destruction complete after 7s
github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Destruction complete after 6s
github_repository.lost-and-found_lost_and_found_v2: Destroying... [id=lost-and-found-v2]
restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Destroying... [id=remote_mirror_n_UZBFU-CY4]
restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Destruction complete after 0s
forgejo_repository.lost-and-found_lost_and_found_v2: Destroying... [name=lost-and-found-v2]
forgejo_repository.lost-and-found_lost_and_found_v2: Destruction complete after 0s
github_repository.lnf_lost_and_found: Still creating... [10s elapsed]
github_repository.lost-and-found_lost_and_found_v2: Destruction complete after 3s
github_repository.lnf_lost_and_found: Creation complete after 16s [id=lost-and-found]
github_actions_repository_permissions.lnf_lost_and_found_actions: Creating...
github_actions_repository_permissions.lnf_lost_and_found_actions: Creation complete after 1s [id=lost-and-found]
╷
│ Error: Unable to delete team member
│ 
│ Unknown error (status 500): 
╵
╷
│ Error: Unable to create repository
│ 
│   with forgejo_repository.lnf_lost_and_found,
│   on forgejo_repos.tf.json line 283, in resource.forgejo_repository.lnf_lost_and_found:
│  283:       },
│ 
│ Repository with name "lost-and-found" already exists: The repository with
│ the same name already exists.
╵
╷
│ Error: POST https://api.github.com/orgs/ScottyLabs/teams: 422 Validation Failed [{Resource:Team Field:data Code:unprocessable Message:Name must be unique for this org}]
│ 
│   with github_team.lnf,
│   on github_teams.tf.json line 43, in resource.github_team.lnf:
│   43:       },
│ 
╵


Apply Summary

9 projects, 8 successful, 0 failed, 1 errored

Ran Apply for 9 projects: 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `sentry` dir: `tofu/sentry` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` --- ### 1. project: `slack` dir: `tofu/slack` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.44s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ null_resource.slack_lost-and-found_ch0_anish: Destroying... [id=5751452929757186483] null_resource.slack_lost-and-found_ch0_anish: Destruction complete after 0s null_resource.slack_lnf_ch0_anish: Creating... null_resource.slack_lnf_ch0_anish: Provisioning with 'local-exec'... null_resource.slack_lnf_ch0_anish (local-exec): Executing: ["/bin/sh" "-c" "governance slack-invite --channel C01BAADS8U8 --user U07FPJKFB5E"] null_resource.slack_lnf_ch0_anish: Creation complete after 0s [id=2609041992356120627] Apply complete! Resources: 1 added, 0 changed, 1 destroyed. ``` </details> --- ### 2. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.36s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_ACCESS_KEY_ID] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_ACCESS_KEY_ID] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_BUCKET] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_PUBLIC_URL] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_SECRET_ACCESS_KEY] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_ENDPOINT] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_SECRET_ACCESS_KEY] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_ENDPOINT] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_ACCESS_KEY_ID] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_S3_BUCKET] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_bucket: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_access_key_id: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_PUBLIC_URL] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_SECRET_ACCESS_KEY] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_bucket: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_PUBLIC_URL] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_endpoint: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_public_url: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_ENDPOINT] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_secret_access_key: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_s3_endpoint: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_secret_access_key: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_S3_ENDPOINT] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_ACCESS_KEY_ID] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_access_key_id: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/CDN_S3_BUCKET] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/CDN_S3_BUCKET] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_access_key_id: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/CDN_PUBLIC_URL] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/CDN_SECRET_ACCESS_KEY] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_public_url: Destruction complete after 0s garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df/GK346a164e309800f54ffe8e62] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_secret_access_key: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_public_url: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_endpoint: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_s3_endpoint: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_staging_cdn_public_url: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_access_key_id: Destruction complete after 0s vault_kv_secret_v2.lost-and-found_lost_and_found_v2_prod_cdn_s3_bucket: Destruction complete after 0s garage_bucket.cdn_cmu-courses_courses: Modifying... [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_preview_cdn_secret_access_key: Destruction complete after 0s garage_bucket.cdn_cmu-housing_housing: Modifying... [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8] garage_bucket.cdn_uia_scottylabs_org: Modifying... [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629] vault_kv_secret_v2.lost-and-found_lost_and_found_v2_dev_cdn_s3_bucket: Destruction complete after 0s garage_bucket_permission.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s garage_bucket.cdn_quest_quest: Modifying... [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46] garage_bucket.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=73a0d821bc485a0a2c5537a0b5a62fd35be0bef32e76de01c09a697bd06fe5df] garage_key.cdn_lost-and-found_lost_and_found_v2: Destroying... [id=GK346a164e309800f54ffe8e62] garage_bucket.cdn_cmu-housing_housing: Modifications complete after 0s [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8] garage_bucket.cdn_cmu-courses_courses: Modifications complete after 0s [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd] garage_bucket.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s garage_bucket.cdn_quest_quest: Modifications complete after 0s [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46] garage_bucket.cdn_uia_scottylabs_org: Modifications complete after 0s [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629] garage_key.cdn_lost-and-found_lost_and_found_v2: Destruction complete after 0s Apply complete! Resources: 0 added, 4 changed, 23 destroyed. ``` </details> --- ### 3. project: `openbao` dir: `tofu/openbao` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.29s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ vault_identity_group_alias.lost-and-found-v2_members: Destroying... [id=8ceaa676-01d4-18bf-4797-316124bc24f8] vault_identity_group_alias.lost-and-found-v2_admins: Destroying... [id=1cfbad81-e44c-d8f0-8a41-d13927f928a3] vault_policy.lost-and-found-v2_dev: Destroying... [id=lost-and-found-v2-dev] vault_policy.lost-and-found-v2_prod: Destroying... [id=lost-and-found-v2-prod] vault_policy.lost-and-found_prod: Creating... vault_identity_group.lost-and-found_members: Creating... vault_identity_group.lost-and-found_admins: Creating... vault_policy.lost-and-found_dev: Creating... vault_policy.lost-and-found-v2_dev: Destruction complete after 0s vault_policy.lost-and-found-v2_prod: Destruction complete after 0s vault_identity_group_alias.lost-and-found-v2_members: Destruction complete after 0s vault_identity_group.lost-and-found-v2_members: Destroying... [id=fffdf6c2-6142-513a-5803-68106a37c4da] vault_identity_group.lost-and-found_members: Creation complete after 0s [id=177e12c6-43dc-7c44-1cdf-85b97d6c8eec] vault_identity_group_alias.lost-and-found_members: Creating... vault_identity_group.lost-and-found_admins: Creation complete after 0s [id=3ad663c2-9db5-a619-8224-d9d6d86e3947] vault_identity_group_alias.lost-and-found_admins: Creating... vault_identity_group_alias.lost-and-found-v2_admins: Destruction complete after 0s vault_identity_group.lost-and-found-v2_admins: Destroying... [id=db8b5072-bb86-c9d0-e93f-951c2901bd15] vault_policy.lost-and-found_dev: Creation complete after 0s [id=lost-and-found-dev] vault_identity_group.lost-and-found-v2_members: Destruction complete after 0s vault_policy.lost-and-found_prod: Creation complete after 0s [id=lost-and-found-prod] vault_identity_group.lost-and-found-v2_admins: Destruction complete after 0s vault_identity_group_alias.lost-and-found_members: Creation complete after 0s [id=dd03a522-e30d-aa67-edbb-26566bd80bc9] vault_identity_group_alias.lost-and-found_admins: Creation complete after 0s [id=5d079b7e-75f1-c6ae-ae74-07154a430703] Apply complete! Resources: 6 added, 0 changed, 6 destroyed. ``` </details> --- ### 4. project: `posthog` dir: `tofu/posthog` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.28s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ posthog_project.lnf_lost_and_found: Creating... vault_kv_secret_v2.lnf_lost_and_found_posthog_host: Creating... vault_kv_secret_v2.lnf_lost_and_found_posthog_host: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/POSTHOG_HOST] posthog_project.lnf_lost_and_found: Creation complete after 1s [name=lost-and-found] vault_kv_secret_v2.lnf_lost_and_found_posthog_key: Creating... vault_kv_secret_v2.lnf_lost_and_found_posthog_key: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/prod/POSTHOG_KEY] Apply complete! Resources: 3 added, 0 changed, 0 destroyed. ``` </details> --- ### 5. project: `discord` dir: `tofu/discord` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.35s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ discord_channel_permission.lost-and-found_ch0: Destroying... [id=1526510267607945326:1526511044762271914:role] discord_role.lnf: Creating... discord_channel_permission.lost-and-found_ch0: Destruction complete after 0s discord_role.lost-and-found: Destroying... [id=1526511044762271914] discord_role.lnf: Creation complete after 0s [id=1551906337150074893] discord_channel_permission.lnf_ch0: Creating... discord_channel_permission.lnf_ch0: Creation complete after 0s [id=1526510267607945326:1551906337150074893:role] discord_role.lost-and-found: Destruction complete after 0s discord_member_roles.anish: Modifying... [id=1353118209024331948:315249559473225729] discord_member_roles.anish: Modifications complete after 1s [id=1353118209024331948:315249559473225729] Apply complete! Resources: 2 added, 1 changed, 2 destroyed. ``` </details> --- ### 6. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` <details><summary>Show Output</summary> ```diff Finished `release` profile [optimized] target(s) in 0.14s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ null_resource.slack_bridge_login_lnf: Creating... null_resource.slack_bridge_login_lnf: Provisioning with 'local-exec'... null_resource.slack_bridge_login_lnf (local-exec): Executing: ["/bin/sh" "-c" "governance slack-join --channel C01BAADS8U8"] synapse_mautrix_slack_link.lost_and_found: Destroying... [id=1526510267607945326] synapse_mautrix_slack_link.lost_and_found: Destruction complete after 0s null_resource.slack_bridge_login_lost_and_found: Destroying... [id=1216724828657172829] null_resource.slack_bridge_login_lost_and_found: Destruction complete after 0s null_resource.slack_bridge_login_lnf: Creation complete after 0s [id=4404938118871409688] synapse_mautrix_slack_link.lnf: Creating... synapse_mautrix_slack_link.lnf: Creation complete after 3s [id=1526510267607945326] Apply complete! Resources: 2 added, 0 changed, 2 destroyed. ``` </details> --- ### 7. project: `keycloak` dir: `tofu/keycloak` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.41s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_prod_project_group: Creating... vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_preview_project_group: Creating... vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_prod_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_preview_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM] keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=scottylabs/group-memberships/7879878f-16a8-4b07-835e-81a8a9e7b02f] vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destruction complete after 0s keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destroying... [id=7db92e13-bccd-4061-b428-f365515ae4e9] keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destroying... [id=625b0235-de2b-4123-9f40-03673c106ff2] vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destruction complete after 0s keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destroying... [id=scottylabs/group-memberships/c14b4061-e3db-42c9-9b9e-a0c0a9747ce4] vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destruction complete after 0s keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destroying... [id=af64f61c-faec-43c6-be39-133c3b391954] vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_dev_project_group: Creating... vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_staging_project_group: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destruction complete after 1s vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_dev_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_staging_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_GROUP] keycloak_openid_client.lost_and_found_v2_dev: Destroying... [id=1d96bcb2-22ff-4ecc-906c-9a6640d53628] vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OAUTH_RELAY_URL] keycloak_openid_client.lost_and_found_v2: Destroying... [id=2a859823-1ba0-4652-9fa3-09fda0a2dd02] keycloak_openid_client.lost_and_found_v2_staging: Destroying... [id=1b3ba192-6045-49ae-921a-f6b6a8c87d6d] vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OAUTH_RELAY_URL] keycloak_openid_client.lost_and_found_dev: Creating... vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_URL] keycloak_openid_client.lost_and_found_staging: Creating... vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_URL] keycloak_openid_client.lost_and_found: Creating... vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_REALM] keycloak_group.project_lnf_lost-and-found: Creating... keycloak_openid_client.lost_and_found_v2_dev: Destruction complete after 0s keycloak_group.project_lnf_lost-and-found: Creation complete after 0s [id=444791a2-93f4-44ae-874c-e42216c4937a] keycloak_group_memberships.project_lnf_lost-and-found: Creating... keycloak_group.project_lnf_lost-and-found_admins: Creating... keycloak_openid_client.lost_and_found_v2: Destruction complete after 0s keycloak_openid_client.lost_and_found_v2_staging: Destruction complete after 0s keycloak_openid_client.lost_and_found_staging: Creation complete after 0s [id=47be46f1-7fda-4fd1-919b-aeb3d8882e7b] vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creating... vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creating... vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creating... keycloak_openid_client.lost_and_found_dev: Creation complete after 0s [id=e74f9cfa-e811-4d4e-9585-668b3fa68031] vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creating... keycloak_openid_client.lost_and_found: Creation complete after 0s [id=f35986db-c6ce-4443-ba5a-d4b2c92922fe] vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creating... keycloak_group.project_lnf_lost-and-found_admins: Creation complete after 0s [id=014d88de-b5d5-4386-aacf-3c07ab1b2022] keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creating... vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creating... vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creation complete after 0s [id=9155cec5-e12d-4af8-a70a-21c9d299b531] vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creating... vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_ID] keycloak_group_memberships.project_lnf_lost-and-found_admins: Creating... vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_ID] keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creation complete after 0s [id=18d82ffa-8195-4856-a60f-9de6ac7be2bc] vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET] keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creation complete after 0s [id=b3acb0c6-cebb-4ca6-a731-c63592de3677] keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 2s keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=7879878f-16a8-4b07-835e-81a8a9e7b02f] keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 0s keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destruction complete after 2s keycloak_group.project_lost-and-found_lost-and-found-v2: Destroying... [id=c14b4061-e3db-42c9-9b9e-a0c0a9747ce4] keycloak_group.project_lost-and-found_lost-and-found-v2: Destruction complete after 0s keycloak_group_memberships.project_lnf_lost-and-found: Creation complete after 2s [id=scottylabs/group-memberships/444791a2-93f4-44ae-874c-e42216c4937a] keycloak_group_memberships.project_lnf_lost-and-found_admins: Creation complete after 2s [id=scottylabs/group-memberships/014d88de-b5d5-4386-aacf-3c07ab1b2022] Apply complete! Resources: 38 added, 0 changed, 38 destroyed. ``` </details> --- ### 8. project: `sentry` dir: `tofu/sentry` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.36s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ sentry_team.lnf: Creating... sentry_team.lnf: Creation complete after 1s [id=lnf] sentry_project.lnf_lost_and_found: Creating... sentry_project.lnf_lost_and_found: Creation complete after 4s [id=lost-and-found] sentry_key.lnf_lost_and_found: Creating... sentry_key.lnf_lost_and_found: Creation complete after 0s [id=b4e0a7e9b5fe5b034101380ae2e7c254] vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn: Creating... vault_kv_secret_v2.lnf_lost_and_found_sentry_dsn: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/SENTRY_DSN] Apply complete! Resources: 4 added, 0 changed, 0 destroyed. ``` </details> --- ### 9. project: `git` dir: `tofu/git` workspace: `default` **Apply Error** <details><summary>Show Output</summary> ``` running '/nix/store/6knnwrwxlzs7f7rlr14b8agk69aa3w5b-opentofu-1.12.6/bin/tofu apply -input=false /var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git/git-default.tfplan' in '/var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git': exit status 1 Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ github_team_membership.lost-and-found_anish: Destroying... [id=4088608:ap-1] github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Destroying... [id=lost-and-found-v2] github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Destroying... [id=18920618] github_repository.lnf_lost_and_found: Creating... github_team.lnf: Creating... forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Destroying... forgejo_team_member.lost-and-found_anish: Destroying... forgejo_team.lnf: Creating... forgejo_team.lost-and-found_leads: Creating... forgejo_team_member.lost-and-found-v2_leads_anish: Destroying... forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Destruction complete after 1s forgejo_team_repository.lost-and-found_lost_and_found_v2: Destroying... forgejo_repository.lnf_lost_and_found: Creating... forgejo_team_member.lost-and-found-v2_leads_anish: Destruction complete after 1s forgejo_team.lost-and-found-v2_leads: Destroying... [name=lost-and-found-v2-leads] forgejo_team_repository.lost-and-found_lost_and_found_v2: Destruction complete after 0s forgejo_team.lost-and-found_leads: Creation complete after 1s [name=lost-and-found-leads] forgejo_team_member.lost-and-found_leads_anish: Creating... forgejo_team.lnf: Creation complete after 1s [name=lnf] forgejo_team_member.lnf_anish: Creating... forgejo_team.lost-and-found-v2_leads: Destruction complete after 0s forgejo_team_member.lost-and-found_leads_anish: Creation complete after 0s forgejo_team_member.lnf_anish: Creation complete after 0s github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Destruction complete after 1s github_team_membership.lost-and-found_anish: Destruction complete after 2s github_team.lost-and-found: Destroying... [id=4088608] github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Destruction complete after 4s github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Destroying... [id=lost-and-found-v2:159665337] github_team.lost-and-found: Destruction complete after 7s github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Destruction complete after 6s github_repository.lost-and-found_lost_and_found_v2: Destroying... [id=lost-and-found-v2] restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Destroying... [id=remote_mirror_n_UZBFU-CY4] restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Destruction complete after 0s forgejo_repository.lost-and-found_lost_and_found_v2: Destroying... [name=lost-and-found-v2] forgejo_repository.lost-and-found_lost_and_found_v2: Destruction complete after 0s github_repository.lnf_lost_and_found: Still creating... [10s elapsed] github_repository.lost-and-found_lost_and_found_v2: Destruction complete after 3s github_repository.lnf_lost_and_found: Creation complete after 16s [id=lost-and-found] github_actions_repository_permissions.lnf_lost_and_found_actions: Creating... github_actions_repository_permissions.lnf_lost_and_found_actions: Creation complete after 1s [id=lost-and-found] ╷ │ Error: Unable to delete team member │ │ Unknown error (status 500): ╵ ╷ │ Error: Unable to create repository │ │ with forgejo_repository.lnf_lost_and_found, │ on forgejo_repos.tf.json line 283, in resource.forgejo_repository.lnf_lost_and_found: │ 283: }, │ │ Repository with name "lost-and-found" already exists: The repository with │ the same name already exists. ╵ ╷ │ Error: POST https://api.github.com/orgs/ScottyLabs/teams: 422 Validation Failed [{Resource:Team Field:data Code:unprocessable Message:Name must be unique for this org}] │ │ with github_team.lnf, │ on github_teams.tf.json line 43, in resource.github_team.lnf: │ 43: }, │ ╵ ``` </details> --- ### Apply Summary 9 projects, 8 successful, 0 failed, 1 errored
Author
Owner

atlantis unlock

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

All Atlantis locks for this PR have been unlocked and plans discarded
anish force-pushed lost-and-found from 76a61040fc
Some checks failed
kennel/build skipped: no services or static sites defined
atlantis/plan: posthog Plan: 3 to add, 0 to change, 0 to destroy.
atlantis/plan: keycloak Plan: 38 to add, 0 to change, 38 to destroy.
atlantis/plan: discord Plan: 2 to add, 1 to change, 2 to destroy.
atlantis/plan: matrix_bridges Plan: 2 to add, 0 to change, 2 to destroy.
atlantis/plan: openbao Plan: 6 to add, 0 to change, 6 to destroy.
atlantis/plan: cdn Plan: 0 to add, 4 to change, 23 to destroy.
atlantis/plan: sentry Plan: 4 to add, 0 to change, 0 to destroy.
atlantis/plan: slack Plan: 1 to add, 0 to change, 1 to destroy.
atlantis/plan: git Plan: 15 to add, 0 to change, 14 to destroy.
atlantis/plan 9/9 projects planned successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
atlantis/apply: git Apply failed.
atlantis/apply: slack Apply succeeded.
atlantis/apply: cdn Apply succeeded.
atlantis/apply: openbao Apply succeeded.
atlantis/apply: posthog Apply succeeded.
atlantis/apply: discord Apply succeeded.
atlantis/apply: matrix_bridges Apply succeeded.
atlantis/apply: keycloak Apply succeeded.
atlantis/apply: sentry Apply succeeded.
atlantis/apply 1/9 projects failed to apply.
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
to 8fd3aff6b5
All checks were successful
CI / build (pull_request) Has been skipped
atlantis/apply 9/9 projects applied successfully.
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Successful in 2m48s
atlantis/plan: openbao No changes. Your infrastructure matches the configuration.
atlantis/plan: posthog No changes. Your infrastructure matches the configuration.
atlantis/plan: matrix_bridges No changes. Your infrastructure matches the configuration.
atlantis/plan: cdn Plan: 0 to add, 4 to change, 0 to destroy.
atlantis/plan: sentry No changes. Your infrastructure matches the configuration.
atlantis/plan: slack Plan: 1 to add, 0 to change, 1 to destroy.
atlantis/plan: keycloak Plan: 38 to add, 0 to change, 38 to destroy.
atlantis/plan: git Plan: 12 to add, 1 to change, 2 to destroy.
atlantis/plan: discord Plan: 2 to add, 1 to change, 2 to destroy.
atlantis/plan 9/9 projects planned successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/apply: sentry Apply succeeded.
atlantis/apply: openbao Apply succeeded.
atlantis/apply: matrix_bridges Apply succeeded.
atlantis/apply: posthog Apply succeeded.
atlantis/apply: cdn Apply succeeded.
atlantis/apply: slack Apply succeeded.
atlantis/apply: discord Apply succeeded.
atlantis/apply: keycloak Apply succeeded.
atlantis/apply: git Apply succeeded.
CI / check-1 (pull_request) Successful in 4m9s
CI / check (pull_request) Successful in 0s
2026-09-22 11:58:54 +00:00
Compare

Ran Plan for 9 projects:

  1. project: posthog dir: tofu/posthog workspace: default
  2. project: openbao dir: tofu/openbao workspace: default
  3. project: cdn dir: tofu/cdn workspace: default
  4. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  5. project: sentry dir: tofu/sentry workspace: default
  6. project: slack dir: tofu/slack workspace: default
  7. project: keycloak dir: tofu/keycloak workspace: default
  8. project: discord dir: tofu/discord workspace: default
  9. project: git dir: tofu/git workspace: default

1. project: posthog dir: tofu/posthog workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.34s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p posthog
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p posthog
    

2. project: openbao dir: tofu/openbao workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.34s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p openbao
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p openbao
    

3. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.31s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
! update in-place (current -> planned)

OpenTofu will perform the following actions:

  # garage_bucket.cdn_cmu-courses_courses will be updated in-place
! resource "garage_bucket" "cdn_cmu-courses_courses" {
        id                     = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_cmu-housing_housing will be updated in-place
! resource "garage_bucket" "cdn_cmu-housing_housing" {
        id                     = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_quest_quest will be updated in-place
! resource "garage_bucket" "cdn_quest_quest" {
        id                     = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_uia_scottylabs_org will be updated in-place
! resource "garage_bucket" "cdn_uia_scottylabs_org" {
        id                     = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629"
        # (3 unchanged attributes hidden)
    }

Plan: 0 to add, 4 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p cdn
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p cdn
    

Plan: 0 to add, 4 to change, 0 to destroy.


4. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
   Compiling governance-core v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-core)
   Compiling governance-tfgen v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-tfgen)
   Compiling governance v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-cli)
    Finished `release` profile [optimized] target(s) in 7.35s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p matrix_bridges
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p matrix_bridges
    

5. project: sentry dir: tofu/sentry workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.30s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p sentry
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p sentry
    

6. project: slack dir: tofu/slack workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.34s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # null_resource.slack_lnf_ch0_anish will be created
+ resource "null_resource" "slack_lnf_ch0_anish" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C01BAADS8U8"
          + "user"    = "U07FPJKFB5E"
        }
    }

  # null_resource.slack_lost-and-found_ch0_anish will be destroyed
  # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration)
- resource "null_resource" "slack_lost-and-found_ch0_anish" {
-       id       = "606459997443073999" -> null
-       triggers = {
          - "channel" = "C01BAADS8U8"
          - "user"    = "U07FPJKFB5E"
        } -> null
    }

Plan: 1 to add, 0 to change, 1 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p slack
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p slack
    

Plan: 1 to add, 0 to change, 1 to destroy.


7. project: keycloak dir: tofu/keycloak workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.42s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # keycloak_group.project_lnf_lost-and-found will be created
+ resource "keycloak_group" "project_lnf_lost-and-found" {
+       id        = (known after apply)
+       name      = "lost-and-found"
+       parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25"
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group" "project_lnf_lost-and-found_admins" {
+       id        = (known after apply)
+       name      = "admins"
+       parent_id = (known after apply)
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" {
-       attributes = {} -> null
-       id         = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       name       = "lost-and-found-v2" -> null
-       parent_id  = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null
-       path       = "/projects/lost-and-found-v2" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" {
-       attributes = {} -> null
-       id         = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       name       = "admins" -> null
-       parent_id  = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       path       = "/projects/lost-and-found-v2/admins" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lnf_lost-and-found will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" {
-       group_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       id       = "scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" {
-       group_id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       id       = "scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_openid_client.lost_and_found will be created
+ resource "keycloak_openid_client" "lost_and_found" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_dev will be created
+ resource "keycloak_openid_client" "lost_and_found_dev" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-dev"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-dev"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "http://localhost:8090/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_staging will be created
+ resource "keycloak_openid_client" "lost_and_found_staging" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-staging"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-staging"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_dev" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-dev" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-dev" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "http://localhost:8090/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_staging" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-staging" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-staging" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null
-       full_path                  = true -> null
-       id                         = "d33c399d-0912-4ba3-8df7-b56f38c85358" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null
-       full_path                  = true -> null
-       id                         = "1065ebb3-f3a2-4913-9ec5-065307cbe9dd" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null
-       full_path                  = true -> null
-       id                         = "25b8f214-4a90-4cb8-8b82-34312b632b19" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.842727945Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.730782109Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.546278873Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.218711134Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.218840819Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.920101537Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.84934745Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.534509095Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.73226062Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.735139229Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.242061332Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.226552553Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.845042776Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.850849007Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.806860882Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.736070856Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.551630162Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.332813436Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.335986035Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.811825153Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.915223836Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.914582223Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.846645383Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.736655131Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.323388702Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.226311384Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.546229988Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.803735575Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

Plan: 38 to add, 0 to change, 38 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p keycloak
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p keycloak
    

Plan: 38 to add, 0 to change, 38 to destroy.


8. project: discord dir: tofu/discord workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.33s


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)
- destroy

OpenTofu will perform the following actions:

  # discord_channel_permission.lnf_ch0 will be created
+ resource "discord_channel_permission" "lnf_ch0" {
+       allow        = 1024
+       channel_id   = "1526510267607945326"
+       id           = (known after apply)
+       overwrite_id = (known after apply)
+       type         = "role"
    }

  # discord_channel_permission.lost-and-found_ch0 will be destroyed
  # (because discord_channel_permission.lost-and-found_ch0 is not in configuration)
- resource "discord_channel_permission" "lost-and-found_ch0" {
-       allow        = 1024 -> null
-       channel_id   = "1526510267607945326" -> null
-       deny         = 0 -> null
-       id           = "1526510267607945326:1551918989645582487:role" -> null
-       overwrite_id = "1551918989645582487" -> null
-       type         = "role" -> null
    }

  # discord_member_roles.anish will be updated in-place
! resource "discord_member_roles" "anish" {
        id        = "1353118209024331948:315249559473225729"
        # (2 unchanged attributes hidden)

-       role {
-           has_role = true -> null
-           role_id  = "1551918989645582487" -> null
        }
+       role {
+           has_role = true
+           role_id  = (known after apply)
        }

        # (14 unchanged blocks hidden)
    }

  # discord_role.lnf will be created
+ resource "discord_role" "lnf" {
+       hoist       = false
+       id          = (known after apply)
+       managed     = (known after apply)
+       mentionable = false
+       name        = "Lost and Found"
+       permissions = 0
+       position    = (known after apply)
+       server_id   = "1353118209024331948"
    }

  # discord_role.lost-and-found will be destroyed
  # (because discord_role.lost-and-found is not in configuration)
- resource "discord_role" "lost-and-found" {
-       color       = 0 -> null
-       hoist       = false -> null
-       id          = "1551918989645582487" -> null
-       managed     = false -> null
-       mentionable = false -> null
-       name        = "Lost and Found" -> null
-       permissions = 0 -> null
-       position    = 1 -> null
-       server_id   = "1353118209024331948" -> null
    }

Plan: 2 to add, 1 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p discord
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p discord
    

Plan: 2 to add, 1 to change, 2 to destroy.


9. project: git dir: tofu/git workspace: default

Plan Error

Show Output
running '/nix/store/6knnwrwxlzs7f7rlr14b8agk69aa3w5b-opentofu-1.12.6/bin/tofu plan -input=false -refresh -out /var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git/git-default.tfplan' in '/var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git': exit status 1
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 7.36s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
data.external.identities: Reading...
github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Refreshing state... [id=23819832]
github_repository.lost-and-found_lost_and_found_v2: Refreshing state... [id=lost-and-found-v2]
github_repository.cmu-courses_courses: Refreshing state... [id=courses]
github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Refreshing state... [id=lost-and-found-v2]
github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Refreshing state... [id=lost-and-found-v2:164073374]
github_repository.cmu-eats_dining_api: Refreshing state... [id=dining-api]
github_repository.slai_cmugpt_surface: Refreshing state... [id=cmugpt-surface]
github_repository.cbp_discord_verify: Refreshing state... [id=discord-verify]
github_repository.occ_occ: Refreshing state... [id=occ]
github_repository.cbp_bus_sign: Refreshing state... [id=bus-sign]
github_repository.cmu-maps_maps: Refreshing state... [id=maps]
github_repository.cbp_groupme_mirror: Refreshing state... [id=groupme-mirror]
github_repository.devops_infrastructure: Refreshing state... [id=infrastructure]
github_repository.quest_quest: Refreshing state... [id=quest]
github_repository.slai_cmugpt_agent: Refreshing state... [id=cmugpt-agent]
github_repository.cmu-insta_insta: Refreshing state... [id=insta]
github_repository.devops_kennel: Refreshing state... [id=kennel]
github_repository.cmu-study_study: Refreshing state... [id=study]
github_repository.devops_documentation: Refreshing state... [id=documentation]
github_repository.devops_link_shortener: Refreshing state... [id=link-shortener]
github_repository.devops_governance: Refreshing state... [id=governance]
github_repository.cmu-cal_cal: Refreshing state... [id=cal]
github_repository.tartan-vote_tartan_vote: Refreshing state... [id=tartan-vote]
github_repository.devops_collie: Refreshing state... [id=collie]
github_repository.terrier_terrier: Refreshing state... [id=terrier]
github_repository.cmu-courses_internet_archive: Refreshing state... [id=internet-archive]
github_repository.uia_scottylabs_org: Refreshing state... [id=scottylabs-org]
github_repository.slai_mcp_server: Refreshing state... [id=mcp-server]
github_repository.cmu-housing_housing: Refreshing state... [id=housing]
github_repository.uia_components: Refreshing state... [id=components]
github_repository.slai_cmugpt_sms_surface: Refreshing state... [id=cmugpt-sms-surface]
github_repository.cmu-eats_eats: Refreshing state... [id=eats]
github_repository.cbp_dalmatian: Refreshing state... [id=dalmatian]
random_password.kennel_webhook_secret: Refreshing state... [id=none]
restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Refreshing state... [id=remote_mirror_rycLt_nw6GN]
forgejo_team.lost-and-found-v2_leads: Refreshing state... [name=lost-and-found-v2-leads]
forgejo_team_member.lost-and-found-v2_leads_anish: Refreshing state...
forgejo_team_repository.lost-and-found_lost_and_found_v2: Refreshing state...
forgejo_team_member.lost-and-found_anish: Refreshing state...
forgejo_team.lost-and-found: Refreshing state... [name=lost-and-found]
forgejo_repository.lost-and-found_lost_and_found_v2: Refreshing state... [name=lost-and-found-v2]
data.external.identities: Still reading... [10s elapsed]
forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Refreshing state...
forgejo_repository.devops_documentation: Refreshing state... [name=documentation]
forgejo_repository.cmu-courses_internet_archive: Refreshing state... [name=internet-archive]
forgejo_repository.uia_components: Refreshing state... [name=components]
forgejo_repository.cbp_bus_sign: Refreshing state... [name=bus-sign]
forgejo_repository.uia_scottylabs_org: Refreshing state... [name=scottylabs-org]
forgejo_repository.tartan-vote_tartan_vote: Refreshing state... [name=tartan-vote]
forgejo_repository.devops_kennel: Refreshing state... [name=kennel]
forgejo_repository.slai_cmugpt_sms_surface: Refreshing state... [name=cmugpt-sms-surface]
forgejo_repository.cmu-study_study: Refreshing state... [name=study]
forgejo_repository.cmu-eats_eats: Refreshing state... [name=eats]
forgejo_repository.cbp_dalmatian: Refreshing state... [name=dalmatian]
forgejo_repository.devops_collie: Refreshing state... [name=collie]
forgejo_repository.slai_cmugpt_surface: Refreshing state... [name=cmugpt-surface]
forgejo_repository.devops_infrastructure: Refreshing state... [name=infrastructure]
forgejo_repository.cbp_discord_verify: Refreshing state... [name=discord-verify]
forgejo_repository.quest_quest: Refreshing state... [name=quest]
forgejo_repository.devops_governance: Refreshing state... [name=governance]
data.forgejo_organization.this: Reading...
data.forgejo_organization.this: Read complete after 0s [name=ScottyLabs]
forgejo_repository.slai_cmugpt_agent: Refreshing state... [name=cmugpt-agent]
forgejo_repository.slai_mcp_server: Refreshing state... [name=mcp-server]
forgejo_repository.cbp_groupme_mirror: Refreshing state... [name=groupme-mirror]
forgejo_repository.cmu-housing_housing: Refreshing state... [name=housing]
forgejo_repository.cmu-cal_cal: Refreshing state... [name=cal]
forgejo_repository.terrier_terrier: Refreshing state... [name=terrier]
forgejo_repository.cmu-courses_courses: Refreshing state... [name=courses]
forgejo_repository.cmu-maps_maps: Refreshing state... [name=maps]
forgejo_repository.occ_occ: Refreshing state... [name=occ]
forgejo_repository.cmu-eats_dining_api: Refreshing state... [name=dining-api]
forgejo_repository.cmu-insta_insta: Refreshing state... [name=insta]
forgejo_repository.devops_link_shortener: Refreshing state... [name=link-shortener]
github_actions_repository_permissions.slai_cmugpt_surface_actions: Refreshing state... [id=cmugpt-surface]
github_actions_repository_permissions.cbp_discord_verify_actions: Refreshing state... [id=discord-verify]
github_actions_repository_permissions.cmu-courses_courses_actions: Refreshing state... [id=courses]
github_actions_repository_permissions.cbp_groupme_mirror_actions: Refreshing state... [id=groupme-mirror]
data.external.identities: Read complete after 12s [id=-]
github_actions_repository_permissions.cmu-eats_dining_api_actions: Refreshing state... [id=dining-api]
github_actions_repository_permissions.slai_cmugpt_agent_actions: Refreshing state... [id=cmugpt-agent]
github_actions_repository_permissions.occ_occ_actions: Refreshing state... [id=occ]
github_actions_repository_permissions.cbp_bus_sign_actions: Refreshing state... [id=bus-sign]
github_actions_repository_permissions.cmu-maps_maps_actions: Refreshing state... [id=maps]
github_actions_repository_permissions.devops_infrastructure_actions: Refreshing state... [id=infrastructure]
github_actions_repository_permissions.quest_quest_actions: Refreshing state... [id=quest]
github_actions_repository_permissions.cmu-insta_insta_actions: Refreshing state... [id=insta]
github_actions_repository_permissions.devops_kennel_actions: Refreshing state... [id=kennel]
github_actions_repository_permissions.cmu-study_study_actions: Refreshing state... [id=study]
github_actions_repository_permissions.devops_collie_actions: Refreshing state... [id=collie]
github_actions_repository_permissions.devops_documentation_actions: Refreshing state... [id=documentation]
github_actions_repository_permissions.devops_link_shortener_actions: Refreshing state... [id=link-shortener]
github_actions_repository_permissions.devops_governance_actions: Refreshing state... [id=governance]
github_actions_repository_permissions.cmu-cal_cal_actions: Refreshing state... [id=cal]
github_actions_repository_permissions.cmu-courses_internet_archive_actions: Refreshing state... [id=internet-archive]
github_actions_repository_permissions.tartan-vote_tartan_vote_actions: Refreshing state... [id=tartan-vote]
restapi_object.devops_documentation_push_mirror: Refreshing state... [id=remote_mirror_izmsqaNB6Wx]
restapi_object.cmu-courses_internet_archive_push_mirror: Refreshing state... [id=remote_mirror_58X__Yfs0bR]
restapi_object.uia_components_push_mirror: Refreshing state... [id=remote_mirror_Kwwa8TDnTgc]
restapi_object.cbp_bus_sign_push_mirror: Refreshing state... [id=remote_mirror_MkKxQ2vA9pc]
restapi_object.uia_scottylabs_org_push_mirror: Refreshing state... [id=remote_mirror_h6yN6QdS1lD]
restapi_object.tartan-vote_tartan_vote_docs_webhook: Refreshing state... [id=25]
restapi_object.tartan-vote_tartan_vote_push_mirror: Refreshing state... [id=remote_mirror_EUFq4sFSnH5]
restapi_object.devops_kennel_push_mirror: Refreshing state... [id=remote_mirror_cT9psJkhTQ4]
restapi_object.slai_cmugpt_sms_surface_push_mirror: Refreshing state... [id=remote_mirror__fkBkASN2jA]
restapi_object.cmu-study_study_push_mirror: Refreshing state... [id=remote_mirror_Lo5Rz3Yz7Zp]
restapi_object.cmu-eats_eats_push_mirror: Refreshing state... [id=remote_mirror_j6fIO7zNJdP]
restapi_object.cbp_dalmatian_push_mirror: Refreshing state... [id=remote_mirror_qzlCpLK153F]
restapi_object.cbp_dalmatian_docs_webhook: Refreshing state... [id=7]
restapi_object.devops_collie_push_mirror: Refreshing state... [id=remote_mirror_ljvVejNFXaS]
restapi_object.slai_cmugpt_surface_push_mirror: Refreshing state... [id=remote_mirror_cPTQN6S5SpB]
restapi_object.devops_infrastructure_push_mirror: Refreshing state... [id=remote_mirror_oYtFpKVzTaZ]
restapi_object.cbp_discord_verify_push_mirror: Refreshing state... [id=remote_mirror_3MV7Up6cY1X]
restapi_object.quest_quest_push_mirror: Refreshing state... [id=remote_mirror_U9d9BPAon29]
restapi_object.devops_governance_push_mirror: Refreshing state... [id=remote_mirror_lt9JzkX1jMq]
forgejo_team.occ: Refreshing state... [name=occ]
forgejo_team.cmu-courses_leads: Refreshing state... [name=cmu-courses-leads]
forgejo_team.courses_leads: Refreshing state... [name=courses-leads]
forgejo_team.study_leads: Refreshing state... [name=study-leads]
forgejo_team.documentation_leads: Refreshing state... [name=documentation-leads]
forgejo_team.link-shortener_leads: Refreshing state... [name=link-shortener-leads]
forgejo_team.quest_leads: Refreshing state... [name=quest-leads]
forgejo_team.quest: Refreshing state... [name=quest]
forgejo_team.cmu-housing: Refreshing state... [name=cmu-housing]
forgejo_team.occ-main_leads: Refreshing state... [name=occ-main-leads]
forgejo_team.tartan-vote: Refreshing state... [name=tartan-vote]
forgejo_team.scottylabs-org_leads: Refreshing state... [name=scottylabs-org-leads]
forgejo_team.cmu-insta: Refreshing state... [name=cmu-insta]
forgejo_team.slai: Refreshing state... [name=slai]
forgejo_team.cmu-cal: Refreshing state... [name=cmu-cal]
forgejo_team.devops_leads: Refreshing state... [name=devops-leads]
forgejo_team.devops: Refreshing state... [name=devops]
forgejo_team.tech_leads: Refreshing state... [name=tech-leads]
forgejo_team.discord-verify_leads: Refreshing state... [name=discord-verify-leads]
forgejo_team.cmugpt-agent_leads: Refreshing state... [name=cmugpt-agent-leads]
forgejo_team.uia: Refreshing state... [name=uia]
forgejo_team.dalmatian_leads: Refreshing state... [name=dalmatian-leads]
forgejo_team.cmu-maps: Refreshing state... [name=cmu-maps]
forgejo_team.tartan-vote_leads: Refreshing state... [name=tartan-vote-leads]
forgejo_team.housing_leads: Refreshing state... [name=housing-leads]
forgejo_team.cmu-eats: Refreshing state... [name=cmu-eats]
forgejo_team.bus-sign_leads: Refreshing state... [name=bus-sign-leads]
forgejo_team.cmugpt-surface_leads: Refreshing state... [name=cmugpt-surface-leads]
forgejo_team.cal_leads: Refreshing state... [name=cal-leads]
forgejo_team.terrier_leads: Refreshing state... [name=terrier-leads]
forgejo_team.cbp: Refreshing state... [name=cbp]
forgejo_team.cmugpt-mcp-server_leads: Refreshing state... [name=cmugpt-mcp-server-leads]
forgejo_team.cmugpt-sms-surface_leads: Refreshing state... [name=cmugpt-sms-surface-leads]
forgejo_team.eats_leads: Refreshing state... [name=eats-leads]
forgejo_team.terrier: Refreshing state... [name=terrier]
forgejo_team.insta_leads: Refreshing state... [name=insta-leads]
forgejo_team.cmu-study: Refreshing state... [name=cmu-study]
forgejo_team.cmu-courses: Refreshing state... [name=cmu-courses]
forgejo_team.components_leads: Refreshing state... [name=components-leads]
forgejo_team.groupme-mirror_leads: Refreshing state... [name=groupme-mirror-leads]
forgejo_team.maps_leads: Refreshing state... [name=maps-leads]
restapi_object.slai_cmugpt_agent_push_mirror: Refreshing state... [id=remote_mirror_kNY6rVcxdyr]
restapi_object.slai_mcp_server_push_mirror: Refreshing state... [id=remote_mirror_Tqh2y0R_vDp]
restapi_object.cbp_groupme_mirror_push_mirror: Refreshing state... [id=remote_mirror_U61HJHB9VGE]
restapi_object.cmu-housing_housing_docs_webhook: Refreshing state... [id=15]
restapi_object.cmu-housing_housing_push_mirror: Refreshing state... [id=remote_mirror_uoV2HG4aiOT]
restapi_object.cmu-cal_cal_push_mirror: Refreshing state... [id=remote_mirror_CO243uIONoq]
github_actions_repository_permissions.uia_components_actions: Refreshing state... [id=components]
restapi_object.terrier_terrier_push_mirror: Refreshing state... [id=remote_mirror_YopDgZksZv5]
restapi_object.cmu-courses_courses_push_mirror: Refreshing state... [id=remote_mirror_WMR9yQwKFDF]
restapi_object.cmu-maps_maps_push_mirror: Refreshing state... [id=remote_mirror_e4_FUnvoslJ]
restapi_object.occ_occ_push_mirror: Refreshing state... [id=remote_mirror_moBLq1YG1qz]
restapi_object.cmu-eats_dining_api_push_mirror: Refreshing state... [id=remote_mirror_6NT90ezmhct]
restapi_object.cmu-insta_insta_push_mirror: Refreshing state... [id=remote_mirror_891nu6XQ1us]
restapi_object.devops_link_shortener_push_mirror: Refreshing state... [id=remote_mirror_cp8daMpt82v]
github_actions_repository_permissions.terrier_terrier_actions: Refreshing state... [id=terrier]
github_actions_repository_permissions.slai_cmugpt_sms_surface_actions: Refreshing state... [id=cmugpt-sms-surface]
github_actions_repository_permissions.uia_scottylabs_org_actions: Refreshing state... [id=scottylabs-org]
github_actions_repository_permissions.slai_mcp_server_actions: Refreshing state... [id=mcp-server]
github_actions_repository_permissions.cmu-housing_housing_actions: Refreshing state... [id=housing]
github_actions_repository_permissions.cmu-eats_eats_actions: Refreshing state... [id=eats]
github_actions_repository_permissions.cbp_dalmatian_actions: Refreshing state... [id=dalmatian]
restapi_object.cbp_discord_verify_kennel_webhook: Refreshing state... [id=18]
restapi_object.slai_cmugpt_agent_kennel_webhook: Refreshing state... [id=28]
restapi_object.devops_infrastructure_kennel_webhook: Refreshing state... [id=26]
restapi_object.tartan-vote_tartan_vote_kennel_webhook: Refreshing state... [id=24]
restapi_object.cmu-housing_housing_kennel_webhook: Refreshing state... [id=16]
restapi_object.slai_cmugpt_surface_kennel_webhook: Refreshing state... [id=23]
restapi_object.quest_quest_kennel_webhook: Refreshing state... [id=10]
restapi_object.cmu-cal_cal_kennel_webhook: Refreshing state... [id=20]
restapi_object.devops_collie_kennel_webhook: Refreshing state... [id=17]
restapi_object.cmu-study_study_kennel_webhook: Refreshing state... [id=33]
restapi_object.terrier_terrier_kennel_webhook: Refreshing state... [id=12]
restapi_object.devops_link_shortener_kennel_webhook: Refreshing state... [id=8]
restapi_object.slai_cmugpt_sms_surface_kennel_webhook: Refreshing state... [id=19]
restapi_object.cbp_bus_sign_kennel_webhook: Refreshing state... [id=21]
restapi_object.uia_scottylabs_org_kennel_webhook: Refreshing state... [id=29]
restapi_object.cmu-courses_courses_kennel_webhook: Refreshing state... [id=11]
restapi_object.cmu-eats_eats_kennel_webhook: Refreshing state... [id=32]
restapi_object.uia_components_kennel_webhook: Refreshing state... [id=27]
restapi_object.devops_governance_kennel_webhook: Refreshing state... [id=22]
restapi_object.devops_kennel_kennel_webhook: Refreshing state... [id=14]
restapi_object.cmu-maps_maps_kennel_webhook: Refreshing state... [id=9]
restapi_object.cbp_dalmatian_kennel_webhook: Refreshing state... [id=6]
restapi_object.slai_mcp_server_kennel_webhook: Refreshing state... [id=13]
github_repository_deploy_key.devops_documentation_mirror_deploy_key: Refreshing state... [id=documentation:159665362]
github_repository_deploy_key.cmu-courses_internet_archive_mirror_deploy_key: Refreshing state... [id=internet-archive:159665356]
github_repository_deploy_key.uia_components_mirror_deploy_key: Refreshing state... [id=components:159665353]
github_repository_deploy_key.cbp_bus_sign_mirror_deploy_key: Refreshing state... [id=bus-sign:159665342]
github_repository_deploy_key.uia_scottylabs_org_mirror_deploy_key: Refreshing state... [id=scottylabs-org:159665361]
github_repository_deploy_key.tartan-vote_tartan_vote_mirror_deploy_key: Refreshing state... [id=tartan-vote:159665350]
github_repository_deploy_key.devops_kennel_mirror_deploy_key: Refreshing state... [id=kennel:159665328]
github_repository_deploy_key.slai_cmugpt_sms_surface_mirror_deploy_key: Refreshing state... [id=cmugpt-sms-surface:159665365]
github_repository_deploy_key.cmu-study_study_mirror_deploy_key: Refreshing state... [id=study:163760029]
github_repository_deploy_key.cmu-eats_eats_mirror_deploy_key: Refreshing state... [id=eats:163759531]
github_repository_deploy_key.cbp_dalmatian_mirror_deploy_key: Refreshing state... [id=dalmatian:159665367]
github_repository_deploy_key.devops_collie_mirror_deploy_key: Refreshing state... [id=collie:159665332]
github_repository_deploy_key.slai_cmugpt_surface_mirror_deploy_key: Refreshing state... [id=cmugpt-surface:159665348]
github_repository_deploy_key.devops_infrastructure_mirror_deploy_key: Refreshing state... [id=infrastructure:159665343]
github_repository_deploy_key.cbp_discord_verify_mirror_deploy_key: Refreshing state... [id=discord-verify:159665340]
github_repository_deploy_key.quest_quest_mirror_deploy_key: Refreshing state... [id=quest:159665323]
github_repository_deploy_key.devops_governance_mirror_deploy_key: Refreshing state... [id=governance:159665346]
forgejo_team_member.occ_acchs: Refreshing state...
forgejo_team_member.occ_anish: Refreshing state...
forgejo_team_member.occ_dcrodrig: Refreshing state...
forgejo_team_member.occ_xboxbedrock: Refreshing state...
forgejo_team_repository.occ_occ: Refreshing state...
forgejo_team_member.courses_leads_etashjha: Refreshing state...
forgejo_team_member.cmu-courses_leads_etashjha: Refreshing state...
forgejo_team_member.cmu-courses_leads_anish: Refreshing state...
forgejo_team_member.courses_leads_anish: Refreshing state...
forgejo_team_member.documentation_leads_thesuperrl: Refreshing state...
forgejo_team_member.documentation_leads_anish: Refreshing state...
forgejo_team_member.study_leads_annadavi: Refreshing state...
forgejo_team_member.link-shortener_leads_thesuperrl: Refreshing state...
forgejo_team_member.study_leads_mishag: Refreshing state...
forgejo_team_member.link-shortener_leads_anish: Refreshing state...
forgejo_team_member.quest_leads_xboxbedrock: Refreshing state...
forgejo_team_member.quest_leads_anish: Refreshing state...
forgejo_team_member.quest_kechezon: Refreshing state...
forgejo_team_member.quest_jw8: Refreshing state...
forgejo_team_member.quest_anish: Refreshing state...
forgejo_team_member.quest_brightz: Refreshing state...
forgejo_team_repository.quest_quest: Refreshing state...
forgejo_team_member.quest_xboxbedrock: Refreshing state...
forgejo_team_member.cmu-housing_amzoeee: Refreshing state...
forgejo_team_member.cmu-housing_tentype: Refreshing state...
forgejo_team_member.cmu-housing_manrajs: Refreshing state...
forgejo_team_member.cmu-housing_xboxbedrock: Refreshing state...
forgejo_team_repository.cmu-housing_housing: Refreshing state...
forgejo_team_member.cmu-housing_nikhilr: Refreshing state...
forgejo_team_member.cmu-housing_kluoxx: Refreshing state...
forgejo_team_member.cmu-housing_stringatlas: Refreshing state...
forgejo_team_member.cmu-housing_xindiy: Refreshing state...
forgejo_team_member.cmu-housing_gostmeaper: Refreshing state...
forgejo_team_member.cmu-housing_jessica_lr_song: Refreshing state...
forgejo_team_member.cmu-housing_anish: Refreshing state...
forgejo_team_member.cmu-housing_zoexue: Refreshing state...
forgejo_team_member.cmu-housing_rhsen: Refreshing state...
forgejo_team_member.cmu-housing_emmawong: Refreshing state...
forgejo_team_member.occ-main_leads_dcrodrig: Refreshing state...
forgejo_team_member.occ-main_leads_anish: Refreshing state...
forgejo_team_member.tartan-vote_jzd: Refreshing state...
forgejo_team_member.tartan-vote_maybe_yiyi: Refreshing state...
forgejo_team_member.tartan-vote_drishtis: Refreshing state...
forgejo_team_member.tartan-vote_stationedk_06: Refreshing state...
forgejo_team_member.tartan-vote_tentype: Refreshing state...
forgejo_team_member.tartan-vote_mxiong2: Refreshing state...
forgejo_team_member.tartan-vote_anish: Refreshing state...
forgejo_team_member.tartan-vote_xboxbedrock: Refreshing state...
forgejo_team_repository.tartan-vote_tartan_vote: Refreshing state...
forgejo_team_member.tartan-vote_eb_thom: Refreshing state...
forgejo_team_member.tartan-vote_riztofu: Refreshing state...
forgejo_team_member.scottylabs-org_leads_anish: Refreshing state...
forgejo_team_repository.cmu-insta_insta: Refreshing state...
forgejo_team_member.cmu-insta_etashjha: Refreshing state...
forgejo_team_member.slai_rzhu3: Refreshing state...
forgejo_team_repository.slai_cmugpt_sms_surface: Refreshing state...
forgejo_team_member.slai_sissizh3n: Refreshing state...
forgejo_team_repository.slai_cmugpt_surface: Refreshing state...
forgejo_team_member.slai_akhanal2: Refreshing state...
forgejo_team_member.slai_xboxbedrock: Refreshing state...
forgejo_team_member.slai_jc_965: Refreshing state...
forgejo_team_member.slai_jiyas: Refreshing state...
forgejo_team_member.slai_anish: Refreshing state...
forgejo_team_member.slai_krishsax: Refreshing state...
forgejo_team_member.slai_qianxuege: Refreshing state...
forgejo_team_repository.slai_mcp_server: Refreshing state...
forgejo_team_repository.slai_cmugpt_agent: Refreshing state...
forgejo_team_member.cmu-cal_anish: Refreshing state...
forgejo_team_repository.cmu-cal_cal: Refreshing state...
forgejo_team_member.cmu-cal_jalenluorion: Refreshing state...
forgejo_team_member.devops_xboxbedrock: Refreshing state...
forgejo_team_member.devops_leads_thesuperrl: Refreshing state...
forgejo_team_member.devops_leads_anish: Refreshing state...
forgejo_team_repository.devops_kennel: Refreshing state...
forgejo_team_member.devops_anish: Refreshing state...
forgejo_team_repository.devops_collie: Refreshing state...
forgejo_team_member.devops_aszhou: Refreshing state...
forgejo_team_repository.devops_documentation: Refreshing state...
forgejo_team_repository.devops_governance: Refreshing state...
forgejo_team_repository.devops_link_shortener: Refreshing state...
forgejo_team_member.devops_stationedk_06: Refreshing state...
forgejo_team_member.devops_thesuperrl: Refreshing state...
forgejo_team_member.devops_saniyav: Refreshing state...
forgejo_team_repository.devops_infrastructure: Refreshing state...
forgejo_team_member.devops_indigo0445: Refreshing state...
forgejo_team_member.tech_leads_gostmeaper: Refreshing state...
forgejo_team_member.tech_leads_etashjha: Refreshing state...
forgejo_team_member.tech_leads_jc_965: Refreshing state...
forgejo_team_member.tech_leads_dcrodrig: Refreshing state...
forgejo_team_member.devops_acchs: Refreshing state...
forgejo_team_member.tech_leads_maybe_yiyi: Refreshing state...
forgejo_team_member.tech_leads_emmawong: Refreshing state...
forgejo_team_member.tech_leads_arom1a: Refreshing state...
forgejo_team_member.tech_leads_siddharthr: Refreshing state...
forgejo_team_member.tech_leads_nikhilr: Refreshing state...
forgejo_team_member.tech_leads_jiyas: Refreshing state...
forgejo_team_member.tech_leads_jalenluorion: Refreshing state...
forgejo_team_member.tech_leads_annadavi: Refreshing state...
forgejo_team_member.tech_leads_mishag: Refreshing state...
forgejo_team_member.tech_leads_thesuperrl: Refreshing state...
forgejo_team_member.tech_leads_kritdass: Refreshing state...
forgejo_team_member.tech_leads_anish: Refreshing state...
forgejo_team_member.tech_leads_krishsax: Refreshing state...
forgejo_team_member.tech_leads_tentype: Refreshing state...
forgejo_team_repository.tech_leads_governance: Refreshing state...
forgejo_team_member.tech_leads_xboxbedrock: Refreshing state...
forgejo_team_member.discord-verify_leads_maybe_yiyi: Refreshing state...
forgejo_team_member.discord-verify_leads_anish: Refreshing state...
forgejo_team_member.discord-verify_leads_tentype: Refreshing state...
forgejo_team_member.cmugpt-agent_leads_jiyas: Refreshing state...
forgejo_team_member.cmugpt-agent_leads_anish: Refreshing state...
forgejo_team_member.cmugpt-agent_leads_jc_965: Refreshing state...
forgejo_team_member.cmugpt-agent_leads_krishsax: Refreshing state...
forgejo_team_member.uia_anish: Refreshing state...
forgejo_team_repository.uia_components: Refreshing state...
forgejo_team_repository.uia_scottylabs_org: Refreshing state...
forgejo_team_member.dalmatian_leads_anish: Refreshing state...
forgejo_team_member.dalmatian_leads_tentype: Refreshing state...
forgejo_team_member.dalmatian_leads_maybe_yiyi: Refreshing state...
forgejo_team_repository.cmu-maps_maps: Refreshing state...
forgejo_team_member.cmu-maps_kennethz: Refreshing state...
forgejo_team_member.cmu-maps_pollyg: Refreshing state...
forgejo_team_member.cmu-maps_arnavrao: Refreshing state...
forgejo_team_member.cmu-maps_siddharthr: Refreshing state...
forgejo_team_member.cmu-maps_hayoonch: Refreshing state...
forgejo_team_member.cmu-maps_anish: Refreshing state...
forgejo_team_member.tartan-vote_leads_anish: Refreshing state...
forgejo_team_member.tartan-vote_leads_maybe_yiyi: Refreshing state...
forgejo_team_member.housing_leads_nikhilr: Refreshing state...
forgejo_team_member.housing_leads_anish: Refreshing state...
forgejo_team_member.housing_leads_emmawong: Refreshing state...
forgejo_team_member.housing_leads_tentype: Refreshing state...
forgejo_team_member.housing_leads_gostmeaper: Refreshing state...
forgejo_team_repository.cmu-eats_dining_api: Refreshing state...
forgejo_team_member.cmu-eats_arom1a: Refreshing state...
forgejo_team_repository.cmu-eats_eats: Refreshing state...
forgejo_team_member.bus-sign_leads_maybe_yiyi: Refreshing state...
forgejo_team_member.bus-sign_leads_anish: Refreshing state...
forgejo_team_member.bus-sign_leads_tentype: Refreshing state...
forgejo_team_member.cmugpt-surface_leads_krishsax: Refreshing state...
forgejo_team_member.cmugpt-surface_leads_jc_965: Refreshing state...
forgejo_team_member.cmugpt-surface_leads_anish: Refreshing state...
forgejo_team_member.cmugpt-surface_leads_jiyas: Refreshing state...
forgejo_team_member.cal_leads_jalenluorion: Refreshing state...
forgejo_team_member.cal_leads_anish: Refreshing state...
forgejo_team_member.terrier_leads_anish: Refreshing state...
forgejo_team_member.terrier_leads_kritdass: Refreshing state...
forgejo_team_member.cbp_liamwalk: Refreshing state...
forgejo_team_member.cbp_maybe_yiyi: Refreshing state...
forgejo_team_repository.cbp_bus_sign: Refreshing state...
forgejo_team_member.cbp_bpwang: Refreshing state...
forgejo_team_member.cbp_stationedk_06: Refreshing state...
forgejo_team_repository.cbp_discord_verify: Refreshing state...
forgejo_team_member.cbp_gostmeaper: Refreshing state...
forgejo_team_member.cbp_anish: Refreshing state...
forgejo_team_member.cbp_xmi: Refreshing state...
forgejo_team_member.cbp_nikhilr: Refreshing state...
forgejo_team_member.cbp_kli: Refreshing state...
forgejo_team_repository.cbp_groupme_mirror: Refreshing state...
forgejo_team_member.cbp_kalee2: Refreshing state...
forgejo_team_member.cbp_xboxbedrock: Refreshing state...
forgejo_team_member.cbp_jzw2: Refreshing state...
forgejo_team_member.cbp_tentype: Refreshing state...
forgejo_team_member.cbp_echiu2: Refreshing state...
forgejo_team_member.cbp_vni2: Refreshing state...
forgejo_team_repository.cbp_dalmatian: Refreshing state...
forgejo_team_member.cmugpt-mcp-server_leads_anish: Refreshing state...
forgejo_team_member.cmugpt-mcp-server_leads_jiyas: Refreshing state...
forgejo_team_member.cmugpt-mcp-server_leads_krishsax: Refreshing state...
forgejo_team_member.cmugpt-mcp-server_leads_jc_965: Refreshing state...
forgejo_team_member.cmugpt-sms-surface_leads_jiyas: Refreshing state...
forgejo_team_member.cmugpt-sms-surface_leads_anish: Refreshing state...
forgejo_team_member.cmugpt-sms-surface_leads_krishsax: Refreshing state...
forgejo_team_member.cmugpt-sms-surface_leads_jc_965: Refreshing state...
forgejo_team_member.terrier_dkou: Refreshing state...
forgejo_team_member.terrier_etashjha: Refreshing state...
forgejo_team_member.terrier_jazang: Refreshing state...
forgejo_team_member.terrier_ethanli: Refreshing state...
forgejo_team_member.terrier_amzoeee: Refreshing state...
forgejo_team_repository.terrier_terrier: Refreshing state...
forgejo_team_member.terrier_anish: Refreshing state...
forgejo_team_member.terrier_kothurvidur: Refreshing state...
forgejo_team_member.terrier_kritdass: Refreshing state...
forgejo_team_member.insta_leads_etashjha: Refreshing state...
forgejo_team_member.eats_leads_arom1a: Refreshing state...
forgejo_team_member.cmu-study_ocervera: Refreshing state...
forgejo_team_member.cmu-study_kenneth4: Refreshing state...
forgejo_team_member.cmu-study_klaipras: Refreshing state...
forgejo_team_member.cmu-study_annadavi: Refreshing state...
forgejo_team_member.cmu-study_andyj: Refreshing state...
forgejo_team_member.cmu-study_dsoral: Refreshing state...
forgejo_team_member.cmu-study_mishag: Refreshing state...
forgejo_team_member.cmu-study_cseluzhy: Refreshing state...
forgejo_team_repository.cmu-study_study: Refreshing state...
forgejo_team_member.cmu-courses_anish: Refreshing state...
forgejo_team_member.cmu-courses_sgli: Refreshing state...
forgejo_team_member.cmu-courses_brianch2: Refreshing state...
forgejo_team_member.cmu-courses_asivachi: Refreshing state...
forgejo_team_repository.cmu-courses_courses: Refreshing state...
forgejo_team_member.cmu-courses_jgtsao: Refreshing state...
forgejo_team_member.cmu-courses_dkou: Refreshing state...
forgejo_team_repository.cmu-courses_internet_archive: Refreshing state...
forgejo_team_member.cmu-courses_kyma: Refreshing state...
forgejo_team_member.cmu-courses_etashjha: Refreshing state...
forgejo_team_member.cmu-courses_jasondin: Refreshing state...
forgejo_team_member.cmu-courses_haiyuem: Refreshing state...
forgejo_team_member.cmu-courses_gabrielx: Refreshing state...
forgejo_team_member.cmu-courses_vaathava: Refreshing state...
forgejo_team_member.groupme-mirror_leads_anish: Refreshing state...
forgejo_team_member.cmu-courses_ckawibow: Refreshing state...
forgejo_team_member.cmu-courses_hannahl3: Refreshing state...
forgejo_team_member.groupme-mirror_leads_maybe_yiyi: Refreshing state...
forgejo_team_member.groupme-mirror_leads_tentype: Refreshing state...
forgejo_team_member.maps_leads_siddharthr: Refreshing state...
forgejo_team_member.maps_leads_anish: Refreshing state...
forgejo_team_member.components_leads_anish: Refreshing state...
github_repository_deploy_key.slai_cmugpt_agent_mirror_deploy_key: Refreshing state... [id=cmugpt-agent:159665360]
github_repository_deploy_key.slai_mcp_server_mirror_deploy_key: Refreshing state... [id=mcp-server:159665358]
github_repository_deploy_key.cbp_groupme_mirror_mirror_deploy_key: Refreshing state... [id=groupme-mirror:159665366]
github_repository_deploy_key.cmu-housing_housing_mirror_deploy_key: Refreshing state... [id=housing:159665369]
github_repository_deploy_key.cmu-cal_cal_mirror_deploy_key: Refreshing state... [id=cal:159665344]
github_repository_deploy_key.terrier_terrier_mirror_deploy_key: Refreshing state... [id=terrier:159665339]
github_repository_deploy_key.cmu-courses_courses_mirror_deploy_key: Refreshing state... [id=courses:159665327]
github_repository_deploy_key.cmu-maps_maps_mirror_deploy_key: Refreshing state... [id=maps:159665325]
github_repository_deploy_key.cmu-eats_dining_api_mirror_deploy_key: Refreshing state... [id=dining-api:163759533]
github_repository_deploy_key.occ_occ_mirror_deploy_key: Refreshing state... [id=occ:161720242]
github_repository_deploy_key.cmu-insta_insta_mirror_deploy_key: Refreshing state... [id=insta:161720245]
github_repository_deploy_key.devops_link_shortener_mirror_deploy_key: Refreshing state... [id=link-shortener:159665345]
github_repository_ruleset.devops_documentation_ruleset: Refreshing state... [id=17079368]
github_repository_ruleset.cmu-courses_internet_archive_ruleset: Refreshing state... [id=11988074]
github_repository_ruleset.uia_components_ruleset: Refreshing state... [id=16366085]
github_repository_ruleset.cbp_bus_sign_ruleset: Refreshing state... [id=15236550]
github_repository_ruleset.uia_scottylabs_org_ruleset: Refreshing state... [id=18112214]
github_repository_ruleset.tartan-vote_tartan_vote_ruleset: Refreshing state... [id=16848966]
github_repository_ruleset.devops_kennel_ruleset: Refreshing state... [id=13193453]
github_repository_ruleset.slai_cmugpt_sms_surface_ruleset: Refreshing state... [id=17653622]
forgejo_team_repository.occ-main_leads_occ: Refreshing state...
github_repository_ruleset.cmu-study_study_ruleset: Refreshing state... [id=23686597]
forgejo_team_repository.quest_leads_quest: Refreshing state...
forgejo_team_repository.housing_leads_housing: Refreshing state...
github_repository_ruleset.cmu-eats_eats_ruleset: Refreshing state... [id=21330218]
forgejo_team_repository.tartan-vote_leads_tartan_vote: Refreshing state...
forgejo_team_repository.insta_leads_insta: Refreshing state...
github_repository_ruleset.cbp_dalmatian_ruleset: Refreshing state... [id=17238915]
forgejo_team_repository.cmugpt-sms-surface_leads_cmugpt_sms_surface: Refreshing state...
forgejo_team_repository.cmugpt-surface_leads_cmugpt_surface: Refreshing state...
forgejo_team_repository.cmugpt-mcp-server_leads_mcp_server: Refreshing state...
forgejo_team_repository.cal_leads_cal: Refreshing state...
forgejo_team_repository.cmugpt-agent_leads_cmugpt_agent: Refreshing state...
forgejo_team_repository.devops_leads_kennel: Refreshing state...
forgejo_team_repository.devops_leads_collie: Refreshing state...
forgejo_team_repository.documentation_leads_documentation: Refreshing state...
forgejo_team_repository.devops_leads_governance: Refreshing state...
forgejo_team_repository.link-shortener_leads_link_shortener: Refreshing state...
forgejo_team_repository.devops_leads_infrastructure: Refreshing state...
github_repository_ruleset.devops_collie_ruleset: Refreshing state... [id=18865204]
forgejo_team_repository.scottylabs-org_leads_scottylabs_org: Refreshing state...
forgejo_team_repository.components_leads_components: Refreshing state...
forgejo_team_repository.maps_leads_maps: Refreshing state...
github_repository_ruleset.slai_cmugpt_surface_ruleset: Refreshing state... [id=16476662]
forgejo_team_repository.eats_leads_dining_api: Refreshing state...
forgejo_team_repository.eats_leads_eats: Refreshing state...
github_repository_ruleset.devops_infrastructure_ruleset: Refreshing state... [id=11275118]
forgejo_team_repository.bus-sign_leads_bus_sign: Refreshing state...
forgejo_team_repository.discord-verify_leads_discord_verify: Refreshing state...
github_repository_ruleset.cbp_discord_verify_ruleset: Refreshing state... [id=11449154]
forgejo_team_repository.groupme-mirror_leads_groupme_mirror: Refreshing state...
forgejo_team_repository.dalmatian_leads_dalmatian: Refreshing state...
forgejo_team_repository.terrier_leads_terrier: Refreshing state...
github_repository_ruleset.quest_quest_ruleset: Refreshing state... [id=15750052]
forgejo_team_repository.study_leads_study: Refreshing state...
forgejo_team_repository.courses_leads_courses: Refreshing state...
forgejo_team_repository.cmu-courses_leads_internet_archive: Refreshing state...
github_repository_ruleset.devops_governance_ruleset: Refreshing state... [id=14488792]
github_repository_ruleset.slai_cmugpt_agent_ruleset: Refreshing state... [id=16476661]
github_repository_ruleset.slai_mcp_server_ruleset: Refreshing state... [id=17082154]
github_repository_ruleset.cbp_groupme_mirror_ruleset: Refreshing state... [id=12503296]
github_repository_ruleset.cmu-housing_housing_ruleset: Refreshing state... [id=17421604]
github_repository_ruleset.cmu-cal_cal_ruleset: Refreshing state... [id=18919281]
github_repository_ruleset.terrier_terrier_ruleset: Refreshing state... [id=12671003]
github_repository_ruleset.cmu-courses_courses_ruleset: Refreshing state... [id=15855161]
github_repository_ruleset.cmu-maps_maps_ruleset: Refreshing state... [id=18864961]
github_repository_ruleset.cmu-eats_dining_api_ruleset: Refreshing state... [id=21879626]
github_repository_ruleset.occ_occ_ruleset: Refreshing state... [id=21841634]
github_repository_ruleset.cmu-insta_insta_ruleset: Refreshing state... [id=21841636]
github_repository_ruleset.devops_link_shortener_ruleset: Refreshing state... [id=17911647]

OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  - destroy

OpenTofu planned the following actions, but then encountered a problem:

  # forgejo_repository.lnf_lost_and_found will be created
  + resource "forgejo_repository" "lnf_lost_and_found" {
      + allow_manual_merge          = false
      + allow_merge_commits         = true
      + allow_rebase                = true
      + allow_rebase_explicit       = true
      + allow_squash_merge          = true
      + archive_on_destroy          = false
      + archived                    = false
      + auto_init                   = true
      + autodetect_manual_merge     = false
      + avatar_url                  = (known after apply)
      + clone_url                   = (known after apply)
      + created_at                  = (known after apply)
      + default_branch              = "main"
      + default_merge_style         = "merge"
      + description                 = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items"
      + empty                       = (known after apply)
      + external_tracker            = (known after apply)
      + external_wiki               = (known after apply)
      + fork                        = (known after apply)
      + forks_count                 = (known after apply)
      + full_name                   = (known after apply)
      + has_actions                 = true
      + has_issues                  = true
      + has_packages                = true
      + has_projects                = true
      + has_pull_requests           = true
      + has_releases                = true
      + has_wiki                    = true
      + html_url                    = (known after apply)
      + id                          = (known after apply)
      + ignore_whitespace_conflicts = false
      + internal                    = (known after apply)
      + internal_tracker            = (known after apply)
      + labels                      = false
      + lfs                         = false
      + milestones                  = false
      + mirror                      = false
      + mirror_interval             = (known after apply)
      + mirror_updated              = (known after apply)
      + name                        = "lost-and-found"
      + open_issues_count           = (known after apply)
      + open_pr_counter             = (known after apply)
      + owner                       = "ScottyLabs"
      + parent_id                   = (known after apply)
      + permissions                 = (known after apply)
      + private                     = false
      + release_counter             = (known after apply)
      + size                        = (known after apply)
      + ssh_url                     = (known after apply)
      + stars_count                 = (known after apply)
      + template                    = false
      + trust_model                 = "default"
      + updated_at                  = (known after apply)
      + watchers_count              = (known after apply)
      + website                     = "https://lostandfound.andrew.cmu.edu/"
    }

  # forgejo_team.lnf will be created
  + resource "forgejo_team" "lnf" {
      + can_create_org_repo       = (known after apply)
      + description               = "Lost and Found"
      + id                        = (known after apply)
      + includes_all_repositories = (known after apply)
      + name                      = "lnf"
      + organization              = (known after apply)
      + organization_id           = 3
      + permission                = "write"
      + units_map                 = {
          + "repo.code"   = "write"
          + "repo.issues" = "write"
          + "repo.pulls"  = "write"
        }
    }

  # forgejo_team.lost-and-found will be destroyed
  # (because forgejo_team.lost-and-found is not in configuration)
  - resource "forgejo_team" "lost-and-found" {
      - can_create_org_repo       = false -> null
      - description               = "Lost and Found" -> null
      - id                        = 5 -> null
      - includes_all_repositories = false -> null
      - name                      = "lost-and-found" -> null
      - organization              = "ScottyLabs" -> null
      - organization_id           = 3 -> null
      - permission                = "write" -> null
      - units_map                 = {
          - "repo.code"   = "write"
          - "repo.issues" = "write"
          - "repo.pulls"  = "write"
        } -> null
    }

  # forgejo_team.lost-and-found_leads will be created
  + resource "forgejo_team" "lost-and-found_leads" {
      + can_create_org_repo       = false
      + description               = "Lost and Found leads"
      + id                        = (known after apply)
      + includes_all_repositories = false
      + name                      = "lost-and-found-leads"
      + organization              = (known after apply)
      + organization_id           = 3
      + permission                = "admin"
      + units_map                 = {
          + "repo.actions"    = "admin"
          + "repo.code"       = "admin"
          + "repo.ext_issues" = "admin"
          + "repo.ext_wiki"   = "admin"
          + "repo.issues"     = "admin"
          + "repo.packages"   = "admin"
          + "repo.projects"   = "admin"
          + "repo.pulls"      = "admin"
          + "repo.releases"   = "admin"
          + "repo.wiki"       = "admin"
        }
    }

  # forgejo_team_member.lnf_anish will be created
  + resource "forgejo_team_member" "lnf_anish" {
      + team_id = (known after apply)
      + user    = "anish"
    }

  # forgejo_team_member.lost-and-found_anish will be destroyed
  # (because forgejo_team_member.lost-and-found_anish is not in configuration)
  - resource "forgejo_team_member" "lost-and-found_anish" {
      - team_id = 5 -> null
      - user    = "anish" -> null
    }

  # forgejo_team_member.lost-and-found_leads_anish will be created
  + resource "forgejo_team_member" "lost-and-found_leads_anish" {
      + team_id = (known after apply)
      + user    = "anish"
    }

  # forgejo_team_repository.lnf_lost_and_found will be created
  + resource "forgejo_team_repository" "lnf_lost_and_found" {
      + owner      = "ScottyLabs"
      + repository = "lost-and-found"
      + team_id    = (known after apply)
    }

  # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created
  + resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" {
      + owner      = "ScottyLabs"
      + repository = "lost-and-found"
      + team_id    = (known after apply)
    }

  # github_actions_repository_permissions.lnf_lost_and_found_actions will be created
  + resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" {
      + enabled              = false
      + id                   = (known after apply)
      + repository           = "lost-and-found"
      + sha_pinning_required = (known after apply)
    }

  # github_repository.lnf_lost_and_found will be created
  + resource "github_repository" "lnf_lost_and_found" {
      + allow_auto_merge                        = false
      + allow_forking                           = (known after apply)
      + allow_merge_commit                      = true
      + allow_rebase_merge                      = true
      + allow_squash_merge                      = true
      + archived                                = false
      + default_branch                          = (known after apply)
      + delete_branch_on_merge                  = false
      + description                             = "READ-ONLY MIRROR"
      + etag                                    = (known after apply)
      + fork                                    = (known after apply)
      + full_name                               = (known after apply)
      + git_clone_url                           = (known after apply)
      + has_discussions                         = false
      + has_issues                              = false
      + has_projects                            = false
      + has_wiki                                = false
      + homepage_url                            = "https://git.cmu.dev/ScottyLabs/lost-and-found"
      + html_url                                = (known after apply)
      + http_clone_url                          = (known after apply)
      + id                                      = (known after apply)
      + ignore_vulnerability_alerts_during_read = false
      + merge_commit_message                    = "PR_TITLE"
      + merge_commit_title                      = "MERGE_MESSAGE"
      + name                                    = "lost-and-found"
      + node_id                                 = (known after apply)
      + primary_language                        = (known after apply)
      + private                                 = (known after apply)
      + repo_id                                 = (known after apply)
      + source_owner                            = (known after apply)
      + source_repo                             = (known after apply)
      + squash_merge_commit_message             = "COMMIT_MESSAGES"
      + squash_merge_commit_title               = "COMMIT_OR_PR_TITLE"
      + ssh_clone_url                           = (known after apply)
      + svn_url                                 = (known after apply)
      + topics                                  = (known after apply)
      + visibility                              = "public"
      + vulnerability_alerts                    = (known after apply)
      + web_commit_signoff_required             = (known after apply)

      + security_and_analysis (known after apply)
    }

  # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created
  + resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + key        = (known after apply)
      + read_only  = false
      + repository = "lost-and-found"
      + title      = "Forgejo mirror"
    }

  # github_repository_ruleset.lnf_lost_and_found_ruleset will be created
  + resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" {
      + enforcement = "active"
      + etag        = (known after apply)
      + id          = (known after apply)
      + name        = "Default"
      + node_id     = (known after apply)
      + repository  = "lost-and-found"
      + ruleset_id  = (known after apply)
      + target      = "branch"

      + bypass_actors {
          + actor_id    = (known after apply)
          + actor_type  = "DeployKey"
          + bypass_mode = "always"
        }

      + conditions {
          + ref_name {
              + exclude = []
              + include = [
                  + "~ALL",
                ]
            }
        }

      + rules {
          + creation                      = true
          + deletion                      = true
          + non_fast_forward              = true
          + update                        = true
          + update_allows_fetch_and_merge = false

          + pull_request {
              + allowed_merge_methods             = (known after apply)
              + dismiss_stale_reviews_on_push     = false
              + require_code_owner_review         = false
              + require_last_push_approval        = false
              + required_approving_review_count   = 1
              + required_review_thread_resolution = false
            }
        }
    }

  # restapi_object.lnf_lost_and_found_kennel_webhook will be created
  + resource "restapi_object" "lnf_lost_and_found_kennel_webhook" {
      + api_data        = (known after apply)
      + api_response    = (known after apply)
      + create_response = (known after apply)
      + data            = (sensitive value)
      + id              = (known after apply)
      + id_attribute    = "id"
      + path            = "/api/v1/repos/ScottyLabs/lost-and-found/hooks"
      + update_method   = "PATCH"
    }

  # restapi_object.lnf_lost_and_found_push_mirror will be created
  + resource "restapi_object" "lnf_lost_and_found_push_mirror" {
      + api_data        = (known after apply)
      + api_response    = (known after apply)
╷
│ Error: Unable to read repository
│ 
│ Repository with ID 220 not found: The target couldn't be found.
      + create_response = (known after apply)
      + data            = jsonencode(
╵
            {
╷
│ Error: Unable to read team member
              + interval       = "8h0m0s"
              + remote_address = "git@github.com:ScottyLabs/lost-and-found.git"
│ 
│ User 'anish' in team with ID 47 not found: The target couldn't be found.
              + sync_on_commit = true
              + use_ssh        = true
╵
╷
            }
        )
│ Error: Unable to read team repositories
│ 
      + id              = (known after apply)
      + id_attribute    = "remote_name"
│ Unknown error (status 404): The target couldn't be found.
╵
      + path            = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors"
    }
╷
│ Error: Unable to read team repository

Plan: 13 to add, 0 to change, 2 to destroy.
│ 
│ Repository 'ScottyLabs/lost-and-found-v2' not found in team with ID 5
╵
╷
│ Error: Unable to read team
│ 
│ Team with ID 47 not found: The target couldn't be found.
╵
╷
│ Error: GET https://api.github.com/repos/ScottyLabs/lost-and-found-v2/actions/permissions: 404 Not Found []
│ 
│ 
╵



Plan Summary

9 projects, 4 with changes, 4 with no changes, 1 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
    
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock
    
Ran Plan for 9 projects: 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `sentry` dir: `tofu/sentry` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` --- ### 1. project: `posthog` dir: `tofu/posthog` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.34s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p posthog ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fposthog%252Fdefault%252Fposthog) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p posthog ``` --- ### 2. project: `openbao` dir: `tofu/openbao` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.34s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p openbao ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fopenbao%252Fdefault%252Fopenbao) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p openbao ``` --- ### 3. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.31s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ! update in-place (current -> planned) OpenTofu will perform the following actions: # garage_bucket.cdn_cmu-courses_courses will be updated in-place ! resource "garage_bucket" "cdn_cmu-courses_courses" { id = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd" # (3 unchanged attributes hidden) } # garage_bucket.cdn_cmu-housing_housing will be updated in-place ! resource "garage_bucket" "cdn_cmu-housing_housing" { id = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8" # (3 unchanged attributes hidden) } # garage_bucket.cdn_quest_quest will be updated in-place ! resource "garage_bucket" "cdn_quest_quest" { id = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46" # (3 unchanged attributes hidden) } # garage_bucket.cdn_uia_scottylabs_org will be updated in-place ! resource "garage_bucket" "cdn_uia_scottylabs_org" { id = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629" # (3 unchanged attributes hidden) } Plan: 0 to add, 4 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p cdn ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fcdn%252Fdefault%252Fcdn) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p cdn ``` Plan: 0 to add, 4 to change, 0 to destroy. --- ### 4. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Compiling governance-core v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-core) Compiling governance-tfgen v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-tfgen) Compiling governance v0.1.0 (/var/lib/atlantis/repos/ScottyLabs/governance/265/default/crates/governance-cli) Finished `release` profile [optimized] target(s) in 7.35s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p matrix_bridges ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fmatrix_bridges%252Fdefault%252Fmatrix_bridges) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p matrix_bridges ``` --- ### 5. project: `sentry` dir: `tofu/sentry` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.30s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p sentry ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fsentry%252Fdefault%252Fsentry) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p sentry ``` --- ### 6. project: `slack` dir: `tofu/slack` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.34s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # null_resource.slack_lnf_ch0_anish will be created + resource "null_resource" "slack_lnf_ch0_anish" { + id = (known after apply) + triggers = { + "channel" = "C01BAADS8U8" + "user" = "U07FPJKFB5E" } } # null_resource.slack_lost-and-found_ch0_anish will be destroyed # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration) - resource "null_resource" "slack_lost-and-found_ch0_anish" { - id = "606459997443073999" -> null - triggers = { - "channel" = "C01BAADS8U8" - "user" = "U07FPJKFB5E" } -> null } Plan: 1 to add, 0 to change, 1 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p slack ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fslack%252Fdefault%252Fslack) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p slack ``` Plan: 1 to add, 0 to change, 1 to destroy. --- ### 7. project: `keycloak` dir: `tofu/keycloak` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.42s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # keycloak_group.project_lnf_lost-and-found will be created + resource "keycloak_group" "project_lnf_lost-and-found" { + id = (known after apply) + name = "lost-and-found" + parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lnf_lost-and-found_admins will be created + resource "keycloak_group" "project_lnf_lost-and-found_admins" { + id = (known after apply) + name = "admins" + parent_id = (known after apply) + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" { - attributes = {} -> null - id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - name = "lost-and-found-v2" -> null - parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null - path = "/projects/lost-and-found-v2" -> null - realm_id = "scottylabs" -> null } # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" { - attributes = {} -> null - id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null - name = "admins" -> null - parent_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - path = "/projects/lost-and-found-v2/admins" -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lnf_lost-and-found will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" { - group_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - id = "scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" { - group_id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null - id = "scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_openid_client.lost_and_found will be created + resource "keycloak_openid_client" "lost_and_found" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_dev will be created + resource "keycloak_openid_client" "lost_and_found_dev" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-dev" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-dev" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "http://localhost:8090/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_staging will be created + resource "keycloak_openid_client" "lost_and_found_staging" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-staging" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-staging" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_v2 will be destroyed # (because keycloak_openid_client.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_dev" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-dev" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-dev" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "http://localhost:8090/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_staging" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-staging" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-staging" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null - full_path = true -> null - id = "d33c399d-0912-4ba3-8df7-b56f38c85358" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null - full_path = true -> null - id = "1065ebb3-f3a2-4913-9ec5-065307cbe9dd" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null - full_path = true -> null - id = "25b8f214-4a90-4cb8-8b82-34312b632b19" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.842727945Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.730782109Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.546278873Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.218711134Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.218840819Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.920101537Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.84934745Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.534509095Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.73226062Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.735139229Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.242061332Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.226552553Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.845042776Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.850849007Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.806860882Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.736070856Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.551630162Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.332813436Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.335986035Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.811825153Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.915223836Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.914582223Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.846645383Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.736655131Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.323388702Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.226311384Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.546229988Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.803735575Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } Plan: 38 to add, 0 to change, 38 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p keycloak ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fkeycloak%252Fdefault%252Fkeycloak) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p keycloak ``` Plan: 38 to add, 0 to change, 38 to destroy. --- ### 8. project: `discord` dir: `tofu/discord` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.33s 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) - destroy OpenTofu will perform the following actions: # discord_channel_permission.lnf_ch0 will be created + resource "discord_channel_permission" "lnf_ch0" { + allow = 1024 + channel_id = "1526510267607945326" + id = (known after apply) + overwrite_id = (known after apply) + type = "role" } # discord_channel_permission.lost-and-found_ch0 will be destroyed # (because discord_channel_permission.lost-and-found_ch0 is not in configuration) - resource "discord_channel_permission" "lost-and-found_ch0" { - allow = 1024 -> null - channel_id = "1526510267607945326" -> null - deny = 0 -> null - id = "1526510267607945326:1551918989645582487:role" -> null - overwrite_id = "1551918989645582487" -> null - type = "role" -> null } # discord_member_roles.anish will be updated in-place ! resource "discord_member_roles" "anish" { id = "1353118209024331948:315249559473225729" # (2 unchanged attributes hidden) - role { - has_role = true -> null - role_id = "1551918989645582487" -> null } + role { + has_role = true + role_id = (known after apply) } # (14 unchanged blocks hidden) } # discord_role.lnf will be created + resource "discord_role" "lnf" { + hoist = false + id = (known after apply) + managed = (known after apply) + mentionable = false + name = "Lost and Found" + permissions = 0 + position = (known after apply) + server_id = "1353118209024331948" } # discord_role.lost-and-found will be destroyed # (because discord_role.lost-and-found is not in configuration) - resource "discord_role" "lost-and-found" { - color = 0 -> null - hoist = false -> null - id = "1551918989645582487" -> null - managed = false -> null - mentionable = false -> null - name = "Lost and Found" -> null - permissions = 0 -> null - position = 1 -> null - server_id = "1353118209024331948" -> null } Plan: 2 to add, 1 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p discord ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fdiscord%252Fdefault%252Fdiscord) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p discord ``` Plan: 2 to add, 1 to change, 2 to destroy. --- ### 9. project: `git` dir: `tofu/git` workspace: `default` **Plan Error** <details><summary>Show Output</summary> ``` running '/nix/store/6knnwrwxlzs7f7rlr14b8agk69aa3w5b-opentofu-1.12.6/bin/tofu plan -input=false -refresh -out /var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git/git-default.tfplan' in '/var/lib/atlantis/repos/ScottyLabs/governance/265/default/tofu/git': exit status 1 Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 7.36s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ data.external.identities: Reading... github_repository_ruleset.lost-and-found_lost_and_found_v2_ruleset: Refreshing state... [id=23819832] github_repository.lost-and-found_lost_and_found_v2: Refreshing state... [id=lost-and-found-v2] github_repository.cmu-courses_courses: Refreshing state... [id=courses] github_actions_repository_permissions.lost-and-found_lost_and_found_v2_actions: Refreshing state... [id=lost-and-found-v2] github_repository_deploy_key.lost-and-found_lost_and_found_v2_mirror_deploy_key: Refreshing state... [id=lost-and-found-v2:164073374] github_repository.cmu-eats_dining_api: Refreshing state... [id=dining-api] github_repository.slai_cmugpt_surface: Refreshing state... [id=cmugpt-surface] github_repository.cbp_discord_verify: Refreshing state... [id=discord-verify] github_repository.occ_occ: Refreshing state... [id=occ] github_repository.cbp_bus_sign: Refreshing state... [id=bus-sign] github_repository.cmu-maps_maps: Refreshing state... [id=maps] github_repository.cbp_groupme_mirror: Refreshing state... [id=groupme-mirror] github_repository.devops_infrastructure: Refreshing state... [id=infrastructure] github_repository.quest_quest: Refreshing state... [id=quest] github_repository.slai_cmugpt_agent: Refreshing state... [id=cmugpt-agent] github_repository.cmu-insta_insta: Refreshing state... [id=insta] github_repository.devops_kennel: Refreshing state... [id=kennel] github_repository.cmu-study_study: Refreshing state... [id=study] github_repository.devops_documentation: Refreshing state... [id=documentation] github_repository.devops_link_shortener: Refreshing state... [id=link-shortener] github_repository.devops_governance: Refreshing state... [id=governance] github_repository.cmu-cal_cal: Refreshing state... [id=cal] github_repository.tartan-vote_tartan_vote: Refreshing state... [id=tartan-vote] github_repository.devops_collie: Refreshing state... [id=collie] github_repository.terrier_terrier: Refreshing state... [id=terrier] github_repository.cmu-courses_internet_archive: Refreshing state... [id=internet-archive] github_repository.uia_scottylabs_org: Refreshing state... [id=scottylabs-org] github_repository.slai_mcp_server: Refreshing state... [id=mcp-server] github_repository.cmu-housing_housing: Refreshing state... [id=housing] github_repository.uia_components: Refreshing state... [id=components] github_repository.slai_cmugpt_sms_surface: Refreshing state... [id=cmugpt-sms-surface] github_repository.cmu-eats_eats: Refreshing state... [id=eats] github_repository.cbp_dalmatian: Refreshing state... [id=dalmatian] random_password.kennel_webhook_secret: Refreshing state... [id=none] restapi_object.lost-and-found_lost_and_found_v2_push_mirror: Refreshing state... [id=remote_mirror_rycLt_nw6GN] forgejo_team.lost-and-found-v2_leads: Refreshing state... [name=lost-and-found-v2-leads] forgejo_team_member.lost-and-found-v2_leads_anish: Refreshing state... forgejo_team_repository.lost-and-found_lost_and_found_v2: Refreshing state... forgejo_team_member.lost-and-found_anish: Refreshing state... forgejo_team.lost-and-found: Refreshing state... [name=lost-and-found] forgejo_repository.lost-and-found_lost_and_found_v2: Refreshing state... [name=lost-and-found-v2] data.external.identities: Still reading... [10s elapsed] forgejo_team_repository.lost-and-found-v2_leads_lost_and_found_v2: Refreshing state... forgejo_repository.devops_documentation: Refreshing state... [name=documentation] forgejo_repository.cmu-courses_internet_archive: Refreshing state... [name=internet-archive] forgejo_repository.uia_components: Refreshing state... [name=components] forgejo_repository.cbp_bus_sign: Refreshing state... [name=bus-sign] forgejo_repository.uia_scottylabs_org: Refreshing state... [name=scottylabs-org] forgejo_repository.tartan-vote_tartan_vote: Refreshing state... [name=tartan-vote] forgejo_repository.devops_kennel: Refreshing state... [name=kennel] forgejo_repository.slai_cmugpt_sms_surface: Refreshing state... [name=cmugpt-sms-surface] forgejo_repository.cmu-study_study: Refreshing state... [name=study] forgejo_repository.cmu-eats_eats: Refreshing state... [name=eats] forgejo_repository.cbp_dalmatian: Refreshing state... [name=dalmatian] forgejo_repository.devops_collie: Refreshing state... [name=collie] forgejo_repository.slai_cmugpt_surface: Refreshing state... [name=cmugpt-surface] forgejo_repository.devops_infrastructure: Refreshing state... [name=infrastructure] forgejo_repository.cbp_discord_verify: Refreshing state... [name=discord-verify] forgejo_repository.quest_quest: Refreshing state... [name=quest] forgejo_repository.devops_governance: Refreshing state... [name=governance] data.forgejo_organization.this: Reading... data.forgejo_organization.this: Read complete after 0s [name=ScottyLabs] forgejo_repository.slai_cmugpt_agent: Refreshing state... [name=cmugpt-agent] forgejo_repository.slai_mcp_server: Refreshing state... [name=mcp-server] forgejo_repository.cbp_groupme_mirror: Refreshing state... [name=groupme-mirror] forgejo_repository.cmu-housing_housing: Refreshing state... [name=housing] forgejo_repository.cmu-cal_cal: Refreshing state... [name=cal] forgejo_repository.terrier_terrier: Refreshing state... [name=terrier] forgejo_repository.cmu-courses_courses: Refreshing state... [name=courses] forgejo_repository.cmu-maps_maps: Refreshing state... [name=maps] forgejo_repository.occ_occ: Refreshing state... [name=occ] forgejo_repository.cmu-eats_dining_api: Refreshing state... [name=dining-api] forgejo_repository.cmu-insta_insta: Refreshing state... [name=insta] forgejo_repository.devops_link_shortener: Refreshing state... [name=link-shortener] github_actions_repository_permissions.slai_cmugpt_surface_actions: Refreshing state... [id=cmugpt-surface] github_actions_repository_permissions.cbp_discord_verify_actions: Refreshing state... [id=discord-verify] github_actions_repository_permissions.cmu-courses_courses_actions: Refreshing state... [id=courses] github_actions_repository_permissions.cbp_groupme_mirror_actions: Refreshing state... [id=groupme-mirror] data.external.identities: Read complete after 12s [id=-] github_actions_repository_permissions.cmu-eats_dining_api_actions: Refreshing state... [id=dining-api] github_actions_repository_permissions.slai_cmugpt_agent_actions: Refreshing state... [id=cmugpt-agent] github_actions_repository_permissions.occ_occ_actions: Refreshing state... [id=occ] github_actions_repository_permissions.cbp_bus_sign_actions: Refreshing state... [id=bus-sign] github_actions_repository_permissions.cmu-maps_maps_actions: Refreshing state... [id=maps] github_actions_repository_permissions.devops_infrastructure_actions: Refreshing state... [id=infrastructure] github_actions_repository_permissions.quest_quest_actions: Refreshing state... [id=quest] github_actions_repository_permissions.cmu-insta_insta_actions: Refreshing state... [id=insta] github_actions_repository_permissions.devops_kennel_actions: Refreshing state... [id=kennel] github_actions_repository_permissions.cmu-study_study_actions: Refreshing state... [id=study] github_actions_repository_permissions.devops_collie_actions: Refreshing state... [id=collie] github_actions_repository_permissions.devops_documentation_actions: Refreshing state... [id=documentation] github_actions_repository_permissions.devops_link_shortener_actions: Refreshing state... [id=link-shortener] github_actions_repository_permissions.devops_governance_actions: Refreshing state... [id=governance] github_actions_repository_permissions.cmu-cal_cal_actions: Refreshing state... [id=cal] github_actions_repository_permissions.cmu-courses_internet_archive_actions: Refreshing state... [id=internet-archive] github_actions_repository_permissions.tartan-vote_tartan_vote_actions: Refreshing state... [id=tartan-vote] restapi_object.devops_documentation_push_mirror: Refreshing state... [id=remote_mirror_izmsqaNB6Wx] restapi_object.cmu-courses_internet_archive_push_mirror: Refreshing state... [id=remote_mirror_58X__Yfs0bR] restapi_object.uia_components_push_mirror: Refreshing state... [id=remote_mirror_Kwwa8TDnTgc] restapi_object.cbp_bus_sign_push_mirror: Refreshing state... [id=remote_mirror_MkKxQ2vA9pc] restapi_object.uia_scottylabs_org_push_mirror: Refreshing state... [id=remote_mirror_h6yN6QdS1lD] restapi_object.tartan-vote_tartan_vote_docs_webhook: Refreshing state... [id=25] restapi_object.tartan-vote_tartan_vote_push_mirror: Refreshing state... [id=remote_mirror_EUFq4sFSnH5] restapi_object.devops_kennel_push_mirror: Refreshing state... [id=remote_mirror_cT9psJkhTQ4] restapi_object.slai_cmugpt_sms_surface_push_mirror: Refreshing state... [id=remote_mirror__fkBkASN2jA] restapi_object.cmu-study_study_push_mirror: Refreshing state... [id=remote_mirror_Lo5Rz3Yz7Zp] restapi_object.cmu-eats_eats_push_mirror: Refreshing state... [id=remote_mirror_j6fIO7zNJdP] restapi_object.cbp_dalmatian_push_mirror: Refreshing state... [id=remote_mirror_qzlCpLK153F] restapi_object.cbp_dalmatian_docs_webhook: Refreshing state... [id=7] restapi_object.devops_collie_push_mirror: Refreshing state... [id=remote_mirror_ljvVejNFXaS] restapi_object.slai_cmugpt_surface_push_mirror: Refreshing state... [id=remote_mirror_cPTQN6S5SpB] restapi_object.devops_infrastructure_push_mirror: Refreshing state... [id=remote_mirror_oYtFpKVzTaZ] restapi_object.cbp_discord_verify_push_mirror: Refreshing state... [id=remote_mirror_3MV7Up6cY1X] restapi_object.quest_quest_push_mirror: Refreshing state... [id=remote_mirror_U9d9BPAon29] restapi_object.devops_governance_push_mirror: Refreshing state... [id=remote_mirror_lt9JzkX1jMq] forgejo_team.occ: Refreshing state... [name=occ] forgejo_team.cmu-courses_leads: Refreshing state... [name=cmu-courses-leads] forgejo_team.courses_leads: Refreshing state... [name=courses-leads] forgejo_team.study_leads: Refreshing state... [name=study-leads] forgejo_team.documentation_leads: Refreshing state... [name=documentation-leads] forgejo_team.link-shortener_leads: Refreshing state... [name=link-shortener-leads] forgejo_team.quest_leads: Refreshing state... [name=quest-leads] forgejo_team.quest: Refreshing state... [name=quest] forgejo_team.cmu-housing: Refreshing state... [name=cmu-housing] forgejo_team.occ-main_leads: Refreshing state... [name=occ-main-leads] forgejo_team.tartan-vote: Refreshing state... [name=tartan-vote] forgejo_team.scottylabs-org_leads: Refreshing state... [name=scottylabs-org-leads] forgejo_team.cmu-insta: Refreshing state... [name=cmu-insta] forgejo_team.slai: Refreshing state... [name=slai] forgejo_team.cmu-cal: Refreshing state... [name=cmu-cal] forgejo_team.devops_leads: Refreshing state... [name=devops-leads] forgejo_team.devops: Refreshing state... [name=devops] forgejo_team.tech_leads: Refreshing state... [name=tech-leads] forgejo_team.discord-verify_leads: Refreshing state... [name=discord-verify-leads] forgejo_team.cmugpt-agent_leads: Refreshing state... [name=cmugpt-agent-leads] forgejo_team.uia: Refreshing state... [name=uia] forgejo_team.dalmatian_leads: Refreshing state... [name=dalmatian-leads] forgejo_team.cmu-maps: Refreshing state... [name=cmu-maps] forgejo_team.tartan-vote_leads: Refreshing state... [name=tartan-vote-leads] forgejo_team.housing_leads: Refreshing state... [name=housing-leads] forgejo_team.cmu-eats: Refreshing state... [name=cmu-eats] forgejo_team.bus-sign_leads: Refreshing state... [name=bus-sign-leads] forgejo_team.cmugpt-surface_leads: Refreshing state... [name=cmugpt-surface-leads] forgejo_team.cal_leads: Refreshing state... [name=cal-leads] forgejo_team.terrier_leads: Refreshing state... [name=terrier-leads] forgejo_team.cbp: Refreshing state... [name=cbp] forgejo_team.cmugpt-mcp-server_leads: Refreshing state... [name=cmugpt-mcp-server-leads] forgejo_team.cmugpt-sms-surface_leads: Refreshing state... [name=cmugpt-sms-surface-leads] forgejo_team.eats_leads: Refreshing state... [name=eats-leads] forgejo_team.terrier: Refreshing state... [name=terrier] forgejo_team.insta_leads: Refreshing state... [name=insta-leads] forgejo_team.cmu-study: Refreshing state... [name=cmu-study] forgejo_team.cmu-courses: Refreshing state... [name=cmu-courses] forgejo_team.components_leads: Refreshing state... [name=components-leads] forgejo_team.groupme-mirror_leads: Refreshing state... [name=groupme-mirror-leads] forgejo_team.maps_leads: Refreshing state... [name=maps-leads] restapi_object.slai_cmugpt_agent_push_mirror: Refreshing state... [id=remote_mirror_kNY6rVcxdyr] restapi_object.slai_mcp_server_push_mirror: Refreshing state... [id=remote_mirror_Tqh2y0R_vDp] restapi_object.cbp_groupme_mirror_push_mirror: Refreshing state... [id=remote_mirror_U61HJHB9VGE] restapi_object.cmu-housing_housing_docs_webhook: Refreshing state... [id=15] restapi_object.cmu-housing_housing_push_mirror: Refreshing state... [id=remote_mirror_uoV2HG4aiOT] restapi_object.cmu-cal_cal_push_mirror: Refreshing state... [id=remote_mirror_CO243uIONoq] github_actions_repository_permissions.uia_components_actions: Refreshing state... [id=components] restapi_object.terrier_terrier_push_mirror: Refreshing state... [id=remote_mirror_YopDgZksZv5] restapi_object.cmu-courses_courses_push_mirror: Refreshing state... [id=remote_mirror_WMR9yQwKFDF] restapi_object.cmu-maps_maps_push_mirror: Refreshing state... [id=remote_mirror_e4_FUnvoslJ] restapi_object.occ_occ_push_mirror: Refreshing state... [id=remote_mirror_moBLq1YG1qz] restapi_object.cmu-eats_dining_api_push_mirror: Refreshing state... [id=remote_mirror_6NT90ezmhct] restapi_object.cmu-insta_insta_push_mirror: Refreshing state... [id=remote_mirror_891nu6XQ1us] restapi_object.devops_link_shortener_push_mirror: Refreshing state... [id=remote_mirror_cp8daMpt82v] github_actions_repository_permissions.terrier_terrier_actions: Refreshing state... [id=terrier] github_actions_repository_permissions.slai_cmugpt_sms_surface_actions: Refreshing state... [id=cmugpt-sms-surface] github_actions_repository_permissions.uia_scottylabs_org_actions: Refreshing state... [id=scottylabs-org] github_actions_repository_permissions.slai_mcp_server_actions: Refreshing state... [id=mcp-server] github_actions_repository_permissions.cmu-housing_housing_actions: Refreshing state... [id=housing] github_actions_repository_permissions.cmu-eats_eats_actions: Refreshing state... [id=eats] github_actions_repository_permissions.cbp_dalmatian_actions: Refreshing state... [id=dalmatian] restapi_object.cbp_discord_verify_kennel_webhook: Refreshing state... [id=18] restapi_object.slai_cmugpt_agent_kennel_webhook: Refreshing state... [id=28] restapi_object.devops_infrastructure_kennel_webhook: Refreshing state... [id=26] restapi_object.tartan-vote_tartan_vote_kennel_webhook: Refreshing state... [id=24] restapi_object.cmu-housing_housing_kennel_webhook: Refreshing state... [id=16] restapi_object.slai_cmugpt_surface_kennel_webhook: Refreshing state... [id=23] restapi_object.quest_quest_kennel_webhook: Refreshing state... [id=10] restapi_object.cmu-cal_cal_kennel_webhook: Refreshing state... [id=20] restapi_object.devops_collie_kennel_webhook: Refreshing state... [id=17] restapi_object.cmu-study_study_kennel_webhook: Refreshing state... [id=33] restapi_object.terrier_terrier_kennel_webhook: Refreshing state... [id=12] restapi_object.devops_link_shortener_kennel_webhook: Refreshing state... [id=8] restapi_object.slai_cmugpt_sms_surface_kennel_webhook: Refreshing state... [id=19] restapi_object.cbp_bus_sign_kennel_webhook: Refreshing state... [id=21] restapi_object.uia_scottylabs_org_kennel_webhook: Refreshing state... [id=29] restapi_object.cmu-courses_courses_kennel_webhook: Refreshing state... [id=11] restapi_object.cmu-eats_eats_kennel_webhook: Refreshing state... [id=32] restapi_object.uia_components_kennel_webhook: Refreshing state... [id=27] restapi_object.devops_governance_kennel_webhook: Refreshing state... [id=22] restapi_object.devops_kennel_kennel_webhook: Refreshing state... [id=14] restapi_object.cmu-maps_maps_kennel_webhook: Refreshing state... [id=9] restapi_object.cbp_dalmatian_kennel_webhook: Refreshing state... [id=6] restapi_object.slai_mcp_server_kennel_webhook: Refreshing state... [id=13] github_repository_deploy_key.devops_documentation_mirror_deploy_key: Refreshing state... [id=documentation:159665362] github_repository_deploy_key.cmu-courses_internet_archive_mirror_deploy_key: Refreshing state... [id=internet-archive:159665356] github_repository_deploy_key.uia_components_mirror_deploy_key: Refreshing state... [id=components:159665353] github_repository_deploy_key.cbp_bus_sign_mirror_deploy_key: Refreshing state... [id=bus-sign:159665342] github_repository_deploy_key.uia_scottylabs_org_mirror_deploy_key: Refreshing state... [id=scottylabs-org:159665361] github_repository_deploy_key.tartan-vote_tartan_vote_mirror_deploy_key: Refreshing state... [id=tartan-vote:159665350] github_repository_deploy_key.devops_kennel_mirror_deploy_key: Refreshing state... [id=kennel:159665328] github_repository_deploy_key.slai_cmugpt_sms_surface_mirror_deploy_key: Refreshing state... [id=cmugpt-sms-surface:159665365] github_repository_deploy_key.cmu-study_study_mirror_deploy_key: Refreshing state... [id=study:163760029] github_repository_deploy_key.cmu-eats_eats_mirror_deploy_key: Refreshing state... [id=eats:163759531] github_repository_deploy_key.cbp_dalmatian_mirror_deploy_key: Refreshing state... [id=dalmatian:159665367] github_repository_deploy_key.devops_collie_mirror_deploy_key: Refreshing state... [id=collie:159665332] github_repository_deploy_key.slai_cmugpt_surface_mirror_deploy_key: Refreshing state... [id=cmugpt-surface:159665348] github_repository_deploy_key.devops_infrastructure_mirror_deploy_key: Refreshing state... [id=infrastructure:159665343] github_repository_deploy_key.cbp_discord_verify_mirror_deploy_key: Refreshing state... [id=discord-verify:159665340] github_repository_deploy_key.quest_quest_mirror_deploy_key: Refreshing state... [id=quest:159665323] github_repository_deploy_key.devops_governance_mirror_deploy_key: Refreshing state... [id=governance:159665346] forgejo_team_member.occ_acchs: Refreshing state... forgejo_team_member.occ_anish: Refreshing state... forgejo_team_member.occ_dcrodrig: Refreshing state... forgejo_team_member.occ_xboxbedrock: Refreshing state... forgejo_team_repository.occ_occ: Refreshing state... forgejo_team_member.courses_leads_etashjha: Refreshing state... forgejo_team_member.cmu-courses_leads_etashjha: Refreshing state... forgejo_team_member.cmu-courses_leads_anish: Refreshing state... forgejo_team_member.courses_leads_anish: Refreshing state... forgejo_team_member.documentation_leads_thesuperrl: Refreshing state... forgejo_team_member.documentation_leads_anish: Refreshing state... forgejo_team_member.study_leads_annadavi: Refreshing state... forgejo_team_member.link-shortener_leads_thesuperrl: Refreshing state... forgejo_team_member.study_leads_mishag: Refreshing state... forgejo_team_member.link-shortener_leads_anish: Refreshing state... forgejo_team_member.quest_leads_xboxbedrock: Refreshing state... forgejo_team_member.quest_leads_anish: Refreshing state... forgejo_team_member.quest_kechezon: Refreshing state... forgejo_team_member.quest_jw8: Refreshing state... forgejo_team_member.quest_anish: Refreshing state... forgejo_team_member.quest_brightz: Refreshing state... forgejo_team_repository.quest_quest: Refreshing state... forgejo_team_member.quest_xboxbedrock: Refreshing state... forgejo_team_member.cmu-housing_amzoeee: Refreshing state... forgejo_team_member.cmu-housing_tentype: Refreshing state... forgejo_team_member.cmu-housing_manrajs: Refreshing state... forgejo_team_member.cmu-housing_xboxbedrock: Refreshing state... forgejo_team_repository.cmu-housing_housing: Refreshing state... forgejo_team_member.cmu-housing_nikhilr: Refreshing state... forgejo_team_member.cmu-housing_kluoxx: Refreshing state... forgejo_team_member.cmu-housing_stringatlas: Refreshing state... forgejo_team_member.cmu-housing_xindiy: Refreshing state... forgejo_team_member.cmu-housing_gostmeaper: Refreshing state... forgejo_team_member.cmu-housing_jessica_lr_song: Refreshing state... forgejo_team_member.cmu-housing_anish: Refreshing state... forgejo_team_member.cmu-housing_zoexue: Refreshing state... forgejo_team_member.cmu-housing_rhsen: Refreshing state... forgejo_team_member.cmu-housing_emmawong: Refreshing state... forgejo_team_member.occ-main_leads_dcrodrig: Refreshing state... forgejo_team_member.occ-main_leads_anish: Refreshing state... forgejo_team_member.tartan-vote_jzd: Refreshing state... forgejo_team_member.tartan-vote_maybe_yiyi: Refreshing state... forgejo_team_member.tartan-vote_drishtis: Refreshing state... forgejo_team_member.tartan-vote_stationedk_06: Refreshing state... forgejo_team_member.tartan-vote_tentype: Refreshing state... forgejo_team_member.tartan-vote_mxiong2: Refreshing state... forgejo_team_member.tartan-vote_anish: Refreshing state... forgejo_team_member.tartan-vote_xboxbedrock: Refreshing state... forgejo_team_repository.tartan-vote_tartan_vote: Refreshing state... forgejo_team_member.tartan-vote_eb_thom: Refreshing state... forgejo_team_member.tartan-vote_riztofu: Refreshing state... forgejo_team_member.scottylabs-org_leads_anish: Refreshing state... forgejo_team_repository.cmu-insta_insta: Refreshing state... forgejo_team_member.cmu-insta_etashjha: Refreshing state... forgejo_team_member.slai_rzhu3: Refreshing state... forgejo_team_repository.slai_cmugpt_sms_surface: Refreshing state... forgejo_team_member.slai_sissizh3n: Refreshing state... forgejo_team_repository.slai_cmugpt_surface: Refreshing state... forgejo_team_member.slai_akhanal2: Refreshing state... forgejo_team_member.slai_xboxbedrock: Refreshing state... forgejo_team_member.slai_jc_965: Refreshing state... forgejo_team_member.slai_jiyas: Refreshing state... forgejo_team_member.slai_anish: Refreshing state... forgejo_team_member.slai_krishsax: Refreshing state... forgejo_team_member.slai_qianxuege: Refreshing state... forgejo_team_repository.slai_mcp_server: Refreshing state... forgejo_team_repository.slai_cmugpt_agent: Refreshing state... forgejo_team_member.cmu-cal_anish: Refreshing state... forgejo_team_repository.cmu-cal_cal: Refreshing state... forgejo_team_member.cmu-cal_jalenluorion: Refreshing state... forgejo_team_member.devops_xboxbedrock: Refreshing state... forgejo_team_member.devops_leads_thesuperrl: Refreshing state... forgejo_team_member.devops_leads_anish: Refreshing state... forgejo_team_repository.devops_kennel: Refreshing state... forgejo_team_member.devops_anish: Refreshing state... forgejo_team_repository.devops_collie: Refreshing state... forgejo_team_member.devops_aszhou: Refreshing state... forgejo_team_repository.devops_documentation: Refreshing state... forgejo_team_repository.devops_governance: Refreshing state... forgejo_team_repository.devops_link_shortener: Refreshing state... forgejo_team_member.devops_stationedk_06: Refreshing state... forgejo_team_member.devops_thesuperrl: Refreshing state... forgejo_team_member.devops_saniyav: Refreshing state... forgejo_team_repository.devops_infrastructure: Refreshing state... forgejo_team_member.devops_indigo0445: Refreshing state... forgejo_team_member.tech_leads_gostmeaper: Refreshing state... forgejo_team_member.tech_leads_etashjha: Refreshing state... forgejo_team_member.tech_leads_jc_965: Refreshing state... forgejo_team_member.tech_leads_dcrodrig: Refreshing state... forgejo_team_member.devops_acchs: Refreshing state... forgejo_team_member.tech_leads_maybe_yiyi: Refreshing state... forgejo_team_member.tech_leads_emmawong: Refreshing state... forgejo_team_member.tech_leads_arom1a: Refreshing state... forgejo_team_member.tech_leads_siddharthr: Refreshing state... forgejo_team_member.tech_leads_nikhilr: Refreshing state... forgejo_team_member.tech_leads_jiyas: Refreshing state... forgejo_team_member.tech_leads_jalenluorion: Refreshing state... forgejo_team_member.tech_leads_annadavi: Refreshing state... forgejo_team_member.tech_leads_mishag: Refreshing state... forgejo_team_member.tech_leads_thesuperrl: Refreshing state... forgejo_team_member.tech_leads_kritdass: Refreshing state... forgejo_team_member.tech_leads_anish: Refreshing state... forgejo_team_member.tech_leads_krishsax: Refreshing state... forgejo_team_member.tech_leads_tentype: Refreshing state... forgejo_team_repository.tech_leads_governance: Refreshing state... forgejo_team_member.tech_leads_xboxbedrock: Refreshing state... forgejo_team_member.discord-verify_leads_maybe_yiyi: Refreshing state... forgejo_team_member.discord-verify_leads_anish: Refreshing state... forgejo_team_member.discord-verify_leads_tentype: Refreshing state... forgejo_team_member.cmugpt-agent_leads_jiyas: Refreshing state... forgejo_team_member.cmugpt-agent_leads_anish: Refreshing state... forgejo_team_member.cmugpt-agent_leads_jc_965: Refreshing state... forgejo_team_member.cmugpt-agent_leads_krishsax: Refreshing state... forgejo_team_member.uia_anish: Refreshing state... forgejo_team_repository.uia_components: Refreshing state... forgejo_team_repository.uia_scottylabs_org: Refreshing state... forgejo_team_member.dalmatian_leads_anish: Refreshing state... forgejo_team_member.dalmatian_leads_tentype: Refreshing state... forgejo_team_member.dalmatian_leads_maybe_yiyi: Refreshing state... forgejo_team_repository.cmu-maps_maps: Refreshing state... forgejo_team_member.cmu-maps_kennethz: Refreshing state... forgejo_team_member.cmu-maps_pollyg: Refreshing state... forgejo_team_member.cmu-maps_arnavrao: Refreshing state... forgejo_team_member.cmu-maps_siddharthr: Refreshing state... forgejo_team_member.cmu-maps_hayoonch: Refreshing state... forgejo_team_member.cmu-maps_anish: Refreshing state... forgejo_team_member.tartan-vote_leads_anish: Refreshing state... forgejo_team_member.tartan-vote_leads_maybe_yiyi: Refreshing state... forgejo_team_member.housing_leads_nikhilr: Refreshing state... forgejo_team_member.housing_leads_anish: Refreshing state... forgejo_team_member.housing_leads_emmawong: Refreshing state... forgejo_team_member.housing_leads_tentype: Refreshing state... forgejo_team_member.housing_leads_gostmeaper: Refreshing state... forgejo_team_repository.cmu-eats_dining_api: Refreshing state... forgejo_team_member.cmu-eats_arom1a: Refreshing state... forgejo_team_repository.cmu-eats_eats: Refreshing state... forgejo_team_member.bus-sign_leads_maybe_yiyi: Refreshing state... forgejo_team_member.bus-sign_leads_anish: Refreshing state... forgejo_team_member.bus-sign_leads_tentype: Refreshing state... forgejo_team_member.cmugpt-surface_leads_krishsax: Refreshing state... forgejo_team_member.cmugpt-surface_leads_jc_965: Refreshing state... forgejo_team_member.cmugpt-surface_leads_anish: Refreshing state... forgejo_team_member.cmugpt-surface_leads_jiyas: Refreshing state... forgejo_team_member.cal_leads_jalenluorion: Refreshing state... forgejo_team_member.cal_leads_anish: Refreshing state... forgejo_team_member.terrier_leads_anish: Refreshing state... forgejo_team_member.terrier_leads_kritdass: Refreshing state... forgejo_team_member.cbp_liamwalk: Refreshing state... forgejo_team_member.cbp_maybe_yiyi: Refreshing state... forgejo_team_repository.cbp_bus_sign: Refreshing state... forgejo_team_member.cbp_bpwang: Refreshing state... forgejo_team_member.cbp_stationedk_06: Refreshing state... forgejo_team_repository.cbp_discord_verify: Refreshing state... forgejo_team_member.cbp_gostmeaper: Refreshing state... forgejo_team_member.cbp_anish: Refreshing state... forgejo_team_member.cbp_xmi: Refreshing state... forgejo_team_member.cbp_nikhilr: Refreshing state... forgejo_team_member.cbp_kli: Refreshing state... forgejo_team_repository.cbp_groupme_mirror: Refreshing state... forgejo_team_member.cbp_kalee2: Refreshing state... forgejo_team_member.cbp_xboxbedrock: Refreshing state... forgejo_team_member.cbp_jzw2: Refreshing state... forgejo_team_member.cbp_tentype: Refreshing state... forgejo_team_member.cbp_echiu2: Refreshing state... forgejo_team_member.cbp_vni2: Refreshing state... forgejo_team_repository.cbp_dalmatian: Refreshing state... forgejo_team_member.cmugpt-mcp-server_leads_anish: Refreshing state... forgejo_team_member.cmugpt-mcp-server_leads_jiyas: Refreshing state... forgejo_team_member.cmugpt-mcp-server_leads_krishsax: Refreshing state... forgejo_team_member.cmugpt-mcp-server_leads_jc_965: Refreshing state... forgejo_team_member.cmugpt-sms-surface_leads_jiyas: Refreshing state... forgejo_team_member.cmugpt-sms-surface_leads_anish: Refreshing state... forgejo_team_member.cmugpt-sms-surface_leads_krishsax: Refreshing state... forgejo_team_member.cmugpt-sms-surface_leads_jc_965: Refreshing state... forgejo_team_member.terrier_dkou: Refreshing state... forgejo_team_member.terrier_etashjha: Refreshing state... forgejo_team_member.terrier_jazang: Refreshing state... forgejo_team_member.terrier_ethanli: Refreshing state... forgejo_team_member.terrier_amzoeee: Refreshing state... forgejo_team_repository.terrier_terrier: Refreshing state... forgejo_team_member.terrier_anish: Refreshing state... forgejo_team_member.terrier_kothurvidur: Refreshing state... forgejo_team_member.terrier_kritdass: Refreshing state... forgejo_team_member.insta_leads_etashjha: Refreshing state... forgejo_team_member.eats_leads_arom1a: Refreshing state... forgejo_team_member.cmu-study_ocervera: Refreshing state... forgejo_team_member.cmu-study_kenneth4: Refreshing state... forgejo_team_member.cmu-study_klaipras: Refreshing state... forgejo_team_member.cmu-study_annadavi: Refreshing state... forgejo_team_member.cmu-study_andyj: Refreshing state... forgejo_team_member.cmu-study_dsoral: Refreshing state... forgejo_team_member.cmu-study_mishag: Refreshing state... forgejo_team_member.cmu-study_cseluzhy: Refreshing state... forgejo_team_repository.cmu-study_study: Refreshing state... forgejo_team_member.cmu-courses_anish: Refreshing state... forgejo_team_member.cmu-courses_sgli: Refreshing state... forgejo_team_member.cmu-courses_brianch2: Refreshing state... forgejo_team_member.cmu-courses_asivachi: Refreshing state... forgejo_team_repository.cmu-courses_courses: Refreshing state... forgejo_team_member.cmu-courses_jgtsao: Refreshing state... forgejo_team_member.cmu-courses_dkou: Refreshing state... forgejo_team_repository.cmu-courses_internet_archive: Refreshing state... forgejo_team_member.cmu-courses_kyma: Refreshing state... forgejo_team_member.cmu-courses_etashjha: Refreshing state... forgejo_team_member.cmu-courses_jasondin: Refreshing state... forgejo_team_member.cmu-courses_haiyuem: Refreshing state... forgejo_team_member.cmu-courses_gabrielx: Refreshing state... forgejo_team_member.cmu-courses_vaathava: Refreshing state... forgejo_team_member.groupme-mirror_leads_anish: Refreshing state... forgejo_team_member.cmu-courses_ckawibow: Refreshing state... forgejo_team_member.cmu-courses_hannahl3: Refreshing state... forgejo_team_member.groupme-mirror_leads_maybe_yiyi: Refreshing state... forgejo_team_member.groupme-mirror_leads_tentype: Refreshing state... forgejo_team_member.maps_leads_siddharthr: Refreshing state... forgejo_team_member.maps_leads_anish: Refreshing state... forgejo_team_member.components_leads_anish: Refreshing state... github_repository_deploy_key.slai_cmugpt_agent_mirror_deploy_key: Refreshing state... [id=cmugpt-agent:159665360] github_repository_deploy_key.slai_mcp_server_mirror_deploy_key: Refreshing state... [id=mcp-server:159665358] github_repository_deploy_key.cbp_groupme_mirror_mirror_deploy_key: Refreshing state... [id=groupme-mirror:159665366] github_repository_deploy_key.cmu-housing_housing_mirror_deploy_key: Refreshing state... [id=housing:159665369] github_repository_deploy_key.cmu-cal_cal_mirror_deploy_key: Refreshing state... [id=cal:159665344] github_repository_deploy_key.terrier_terrier_mirror_deploy_key: Refreshing state... [id=terrier:159665339] github_repository_deploy_key.cmu-courses_courses_mirror_deploy_key: Refreshing state... [id=courses:159665327] github_repository_deploy_key.cmu-maps_maps_mirror_deploy_key: Refreshing state... [id=maps:159665325] github_repository_deploy_key.cmu-eats_dining_api_mirror_deploy_key: Refreshing state... [id=dining-api:163759533] github_repository_deploy_key.occ_occ_mirror_deploy_key: Refreshing state... [id=occ:161720242] github_repository_deploy_key.cmu-insta_insta_mirror_deploy_key: Refreshing state... [id=insta:161720245] github_repository_deploy_key.devops_link_shortener_mirror_deploy_key: Refreshing state... [id=link-shortener:159665345] github_repository_ruleset.devops_documentation_ruleset: Refreshing state... [id=17079368] github_repository_ruleset.cmu-courses_internet_archive_ruleset: Refreshing state... [id=11988074] github_repository_ruleset.uia_components_ruleset: Refreshing state... [id=16366085] github_repository_ruleset.cbp_bus_sign_ruleset: Refreshing state... [id=15236550] github_repository_ruleset.uia_scottylabs_org_ruleset: Refreshing state... [id=18112214] github_repository_ruleset.tartan-vote_tartan_vote_ruleset: Refreshing state... [id=16848966] github_repository_ruleset.devops_kennel_ruleset: Refreshing state... [id=13193453] github_repository_ruleset.slai_cmugpt_sms_surface_ruleset: Refreshing state... [id=17653622] forgejo_team_repository.occ-main_leads_occ: Refreshing state... github_repository_ruleset.cmu-study_study_ruleset: Refreshing state... [id=23686597] forgejo_team_repository.quest_leads_quest: Refreshing state... forgejo_team_repository.housing_leads_housing: Refreshing state... github_repository_ruleset.cmu-eats_eats_ruleset: Refreshing state... [id=21330218] forgejo_team_repository.tartan-vote_leads_tartan_vote: Refreshing state... forgejo_team_repository.insta_leads_insta: Refreshing state... github_repository_ruleset.cbp_dalmatian_ruleset: Refreshing state... [id=17238915] forgejo_team_repository.cmugpt-sms-surface_leads_cmugpt_sms_surface: Refreshing state... forgejo_team_repository.cmugpt-surface_leads_cmugpt_surface: Refreshing state... forgejo_team_repository.cmugpt-mcp-server_leads_mcp_server: Refreshing state... forgejo_team_repository.cal_leads_cal: Refreshing state... forgejo_team_repository.cmugpt-agent_leads_cmugpt_agent: Refreshing state... forgejo_team_repository.devops_leads_kennel: Refreshing state... forgejo_team_repository.devops_leads_collie: Refreshing state... forgejo_team_repository.documentation_leads_documentation: Refreshing state... forgejo_team_repository.devops_leads_governance: Refreshing state... forgejo_team_repository.link-shortener_leads_link_shortener: Refreshing state... forgejo_team_repository.devops_leads_infrastructure: Refreshing state... github_repository_ruleset.devops_collie_ruleset: Refreshing state... [id=18865204] forgejo_team_repository.scottylabs-org_leads_scottylabs_org: Refreshing state... forgejo_team_repository.components_leads_components: Refreshing state... forgejo_team_repository.maps_leads_maps: Refreshing state... github_repository_ruleset.slai_cmugpt_surface_ruleset: Refreshing state... [id=16476662] forgejo_team_repository.eats_leads_dining_api: Refreshing state... forgejo_team_repository.eats_leads_eats: Refreshing state... github_repository_ruleset.devops_infrastructure_ruleset: Refreshing state... [id=11275118] forgejo_team_repository.bus-sign_leads_bus_sign: Refreshing state... forgejo_team_repository.discord-verify_leads_discord_verify: Refreshing state... github_repository_ruleset.cbp_discord_verify_ruleset: Refreshing state... [id=11449154] forgejo_team_repository.groupme-mirror_leads_groupme_mirror: Refreshing state... forgejo_team_repository.dalmatian_leads_dalmatian: Refreshing state... forgejo_team_repository.terrier_leads_terrier: Refreshing state... github_repository_ruleset.quest_quest_ruleset: Refreshing state... [id=15750052] forgejo_team_repository.study_leads_study: Refreshing state... forgejo_team_repository.courses_leads_courses: Refreshing state... forgejo_team_repository.cmu-courses_leads_internet_archive: Refreshing state... github_repository_ruleset.devops_governance_ruleset: Refreshing state... [id=14488792] github_repository_ruleset.slai_cmugpt_agent_ruleset: Refreshing state... [id=16476661] github_repository_ruleset.slai_mcp_server_ruleset: Refreshing state... [id=17082154] github_repository_ruleset.cbp_groupme_mirror_ruleset: Refreshing state... [id=12503296] github_repository_ruleset.cmu-housing_housing_ruleset: Refreshing state... [id=17421604] github_repository_ruleset.cmu-cal_cal_ruleset: Refreshing state... [id=18919281] github_repository_ruleset.terrier_terrier_ruleset: Refreshing state... [id=12671003] github_repository_ruleset.cmu-courses_courses_ruleset: Refreshing state... [id=15855161] github_repository_ruleset.cmu-maps_maps_ruleset: Refreshing state... [id=18864961] github_repository_ruleset.cmu-eats_dining_api_ruleset: Refreshing state... [id=21879626] github_repository_ruleset.occ_occ_ruleset: Refreshing state... [id=21841634] github_repository_ruleset.cmu-insta_insta_ruleset: Refreshing state... [id=21841636] github_repository_ruleset.devops_link_shortener_ruleset: Refreshing state... [id=17911647] OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu planned the following actions, but then encountered a problem: # forgejo_repository.lnf_lost_and_found will be created + resource "forgejo_repository" "lnf_lost_and_found" { + allow_manual_merge = false + allow_merge_commits = true + allow_rebase = true + allow_rebase_explicit = true + allow_squash_merge = true + archive_on_destroy = false + archived = false + auto_init = true + autodetect_manual_merge = false + avatar_url = (known after apply) + clone_url = (known after apply) + created_at = (known after apply) + default_branch = "main" + default_merge_style = "merge" + description = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items" + empty = (known after apply) + external_tracker = (known after apply) + external_wiki = (known after apply) + fork = (known after apply) + forks_count = (known after apply) + full_name = (known after apply) + has_actions = true + has_issues = true + has_packages = true + has_projects = true + has_pull_requests = true + has_releases = true + has_wiki = true + html_url = (known after apply) + id = (known after apply) + ignore_whitespace_conflicts = false + internal = (known after apply) + internal_tracker = (known after apply) + labels = false + lfs = false + milestones = false + mirror = false + mirror_interval = (known after apply) + mirror_updated = (known after apply) + name = "lost-and-found" + open_issues_count = (known after apply) + open_pr_counter = (known after apply) + owner = "ScottyLabs" + parent_id = (known after apply) + permissions = (known after apply) + private = false + release_counter = (known after apply) + size = (known after apply) + ssh_url = (known after apply) + stars_count = (known after apply) + template = false + trust_model = "default" + updated_at = (known after apply) + watchers_count = (known after apply) + website = "https://lostandfound.andrew.cmu.edu/" } # forgejo_team.lnf will be created + resource "forgejo_team" "lnf" { + can_create_org_repo = (known after apply) + description = "Lost and Found" + id = (known after apply) + includes_all_repositories = (known after apply) + name = "lnf" + organization = (known after apply) + organization_id = 3 + permission = "write" + units_map = { + "repo.code" = "write" + "repo.issues" = "write" + "repo.pulls" = "write" } } # forgejo_team.lost-and-found will be destroyed # (because forgejo_team.lost-and-found is not in configuration) - resource "forgejo_team" "lost-and-found" { - can_create_org_repo = false -> null - description = "Lost and Found" -> null - id = 5 -> null - includes_all_repositories = false -> null - name = "lost-and-found" -> null - organization = "ScottyLabs" -> null - organization_id = 3 -> null - permission = "write" -> null - units_map = { - "repo.code" = "write" - "repo.issues" = "write" - "repo.pulls" = "write" } -> null } # forgejo_team.lost-and-found_leads will be created + resource "forgejo_team" "lost-and-found_leads" { + can_create_org_repo = false + description = "Lost and Found leads" + id = (known after apply) + includes_all_repositories = false + name = "lost-and-found-leads" + organization = (known after apply) + organization_id = 3 + permission = "admin" + units_map = { + "repo.actions" = "admin" + "repo.code" = "admin" + "repo.ext_issues" = "admin" + "repo.ext_wiki" = "admin" + "repo.issues" = "admin" + "repo.packages" = "admin" + "repo.projects" = "admin" + "repo.pulls" = "admin" + "repo.releases" = "admin" + "repo.wiki" = "admin" } } # forgejo_team_member.lnf_anish will be created + resource "forgejo_team_member" "lnf_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_member.lost-and-found_anish will be destroyed # (because forgejo_team_member.lost-and-found_anish is not in configuration) - resource "forgejo_team_member" "lost-and-found_anish" { - team_id = 5 -> null - user = "anish" -> null } # forgejo_team_member.lost-and-found_leads_anish will be created + resource "forgejo_team_member" "lost-and-found_leads_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_repository.lnf_lost_and_found will be created + resource "forgejo_team_repository" "lnf_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created + resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # github_actions_repository_permissions.lnf_lost_and_found_actions will be created + resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" { + enabled = false + id = (known after apply) + repository = "lost-and-found" + sha_pinning_required = (known after apply) } # github_repository.lnf_lost_and_found will be created + resource "github_repository" "lnf_lost_and_found" { + allow_auto_merge = false + allow_forking = (known after apply) + allow_merge_commit = true + allow_rebase_merge = true + allow_squash_merge = true + archived = false + default_branch = (known after apply) + delete_branch_on_merge = false + description = "READ-ONLY MIRROR" + etag = (known after apply) + fork = (known after apply) + full_name = (known after apply) + git_clone_url = (known after apply) + has_discussions = false + has_issues = false + has_projects = false + has_wiki = false + homepage_url = "https://git.cmu.dev/ScottyLabs/lost-and-found" + html_url = (known after apply) + http_clone_url = (known after apply) + id = (known after apply) + ignore_vulnerability_alerts_during_read = false + merge_commit_message = "PR_TITLE" + merge_commit_title = "MERGE_MESSAGE" + name = "lost-and-found" + node_id = (known after apply) + primary_language = (known after apply) + private = (known after apply) + repo_id = (known after apply) + source_owner = (known after apply) + source_repo = (known after apply) + squash_merge_commit_message = "COMMIT_MESSAGES" + squash_merge_commit_title = "COMMIT_OR_PR_TITLE" + ssh_clone_url = (known after apply) + svn_url = (known after apply) + topics = (known after apply) + visibility = "public" + vulnerability_alerts = (known after apply) + web_commit_signoff_required = (known after apply) + security_and_analysis (known after apply) } # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created + resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" { + etag = (known after apply) + id = (known after apply) + key = (known after apply) + read_only = false + repository = "lost-and-found" + title = "Forgejo mirror" } # github_repository_ruleset.lnf_lost_and_found_ruleset will be created + resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" { + enforcement = "active" + etag = (known after apply) + id = (known after apply) + name = "Default" + node_id = (known after apply) + repository = "lost-and-found" + ruleset_id = (known after apply) + target = "branch" + bypass_actors { + actor_id = (known after apply) + actor_type = "DeployKey" + bypass_mode = "always" } + conditions { + ref_name { + exclude = [] + include = [ + "~ALL", ] } } + rules { + creation = true + deletion = true + non_fast_forward = true + update = true + update_allows_fetch_and_merge = false + pull_request { + allowed_merge_methods = (known after apply) + dismiss_stale_reviews_on_push = false + require_code_owner_review = false + require_last_push_approval = false + required_approving_review_count = 1 + required_review_thread_resolution = false } } } # restapi_object.lnf_lost_and_found_kennel_webhook will be created + resource "restapi_object" "lnf_lost_and_found_kennel_webhook" { + api_data = (known after apply) + api_response = (known after apply) + create_response = (known after apply) + data = (sensitive value) + id = (known after apply) + id_attribute = "id" + path = "/api/v1/repos/ScottyLabs/lost-and-found/hooks" + update_method = "PATCH" } # restapi_object.lnf_lost_and_found_push_mirror will be created + resource "restapi_object" "lnf_lost_and_found_push_mirror" { + api_data = (known after apply) + api_response = (known after apply) ╷ │ Error: Unable to read repository │ │ Repository with ID 220 not found: The target couldn't be found. + create_response = (known after apply) + data = jsonencode( ╵ { ╷ │ Error: Unable to read team member + interval = "8h0m0s" + remote_address = "git@github.com:ScottyLabs/lost-and-found.git" │ │ User 'anish' in team with ID 47 not found: The target couldn't be found. + sync_on_commit = true + use_ssh = true ╵ ╷ } ) │ Error: Unable to read team repositories │ + id = (known after apply) + id_attribute = "remote_name" │ Unknown error (status 404): The target couldn't be found. ╵ + path = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors" } ╷ │ Error: Unable to read team repository Plan: 13 to add, 0 to change, 2 to destroy. │ │ Repository 'ScottyLabs/lost-and-found-v2' not found in team with ID 5 ╵ ╷ │ Error: Unable to read team │ │ Team with ID 47 not found: The target couldn't be found. ╵ ╷ │ Error: GET https://api.github.com/repos/ScottyLabs/lost-and-found-v2/actions/permissions: 404 Not Found [] │ │ ╵ ``` </details> --- ### Plan Summary 9 projects, 4 with changes, 4 with no changes, 1 failed * :fast_forward: To **apply** all unapplied plans from this Pull Request, comment: ```shell atlantis apply ``` * :put_litter_in_its_place: To **delete** all plans and locks from this Pull Request, comment: ```shell atlantis unlock ```
Author
Owner

atlantis import -p git -- forgejo_repository.lnf_lost_and_found ScottyLabs/lost-and-found

atlantis import -p git -- forgejo_repository.lnf_lost_and_found ScottyLabs/lost-and-found
Error: unknown argument(s) – .
Usage of import ADDRESS ID:
  -d, --dir string         Which directory to run import in relative to root of
                           repo, ex. 'child/dir'.
  -p, --project string     Which project to run import for. Refers to the name of
                           the project configured in a repo config file. Cannot be
                           used at same time as workspace or dir flags.
      --verbose            Append Atlantis log to comment.
  -w, --workspace string   Switch to this Terraform workspace before importing.
``` Error: unknown argument(s) – . Usage of import ADDRESS ID: -d, --dir string Which directory to run import in relative to root of repo, ex. 'child/dir'. -p, --project string Which project to run import for. Refers to the name of the project configured in a repo config file. Cannot be used at same time as workspace or dir flags. --verbose Append Atlantis log to comment. -w, --workspace string Switch to this Terraform workspace before importing. ```
Author
Owner

atlantis import -p git forgejo_repository.lnf_lost_and_found ScottyLabs/lost-and-found

atlantis import -p git forgejo_repository.lnf_lost_and_found ScottyLabs/lost-and-found

Ran Import for project: git dir: tofu/git workspace: default

Show Output
Finished `release` profile [optimized] target(s) in 0.07s

data.external.identities: Reading...
forgejo_repository.lnf_lost_and_found: Importing from ID "ScottyLabs/lost-and-found"...
data.forgejo_organization.this: Reading...
forgejo_repository.lnf_lost_and_found: Import prepared!
  Prepared forgejo_repository for import
data.forgejo_organization.this: Read complete after 0s [name=ScottyLabs]
forgejo_repository.lnf_lost_and_found: Refreshing state... [name=lost-and-found]
data.external.identities: Still reading... [10s elapsed]
data.external.identities: Read complete after 12s [id=-]

Import successful!

The resources that were imported are shown above. These resources are now in
your OpenTofu state and will henceforth be managed by OpenTofu.
🚮 A plan file was discarded. Re-plan would be required before applying.
  • 🔁 To plan this project again, comment:
    atlantis plan -p git
    
Ran Import for project: `git` dir: `tofu/git` workspace: `default` <details><summary>Show Output</summary> ```diff Finished `release` profile [optimized] target(s) in 0.07s data.external.identities: Reading... forgejo_repository.lnf_lost_and_found: Importing from ID "ScottyLabs/lost-and-found"... data.forgejo_organization.this: Reading... forgejo_repository.lnf_lost_and_found: Import prepared! Prepared forgejo_repository for import data.forgejo_organization.this: Read complete after 0s [name=ScottyLabs] forgejo_repository.lnf_lost_and_found: Refreshing state... [name=lost-and-found] data.external.identities: Still reading... [10s elapsed] data.external.identities: Read complete after 12s [id=-] Import successful! The resources that were imported are shown above. These resources are now in your OpenTofu state and will henceforth be managed by OpenTofu. ``` </details> :put_litter_in_its_place: A plan file was discarded. Re-plan would be required before applying. * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p git ```
Author
Owner

atlantis plan

atlantis plan

Ran Plan for 9 projects:

  1. project: openbao dir: tofu/openbao workspace: default
  2. project: posthog dir: tofu/posthog workspace: default
  3. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  4. project: cdn dir: tofu/cdn workspace: default
  5. project: sentry dir: tofu/sentry workspace: default
  6. project: slack dir: tofu/slack workspace: default
  7. project: keycloak dir: tofu/keycloak workspace: default
  8. project: git dir: tofu/git workspace: default
  9. project: discord dir: tofu/discord workspace: default

1. project: openbao dir: tofu/openbao workspace: default

Finished `release` profile [optimized] target(s) in 0.12s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p openbao
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p openbao
    

2. project: posthog dir: tofu/posthog workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p posthog
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p posthog
    

3. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on shared package cache
    Finished `release` profile [optimized] target(s) in 0.30s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p matrix_bridges
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p matrix_bridges
    

4. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.37s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
! update in-place (current -> planned)

OpenTofu will perform the following actions:

  # garage_bucket.cdn_cmu-courses_courses will be updated in-place
! resource "garage_bucket" "cdn_cmu-courses_courses" {
        id                     = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_cmu-housing_housing will be updated in-place
! resource "garage_bucket" "cdn_cmu-housing_housing" {
        id                     = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_quest_quest will be updated in-place
! resource "garage_bucket" "cdn_quest_quest" {
        id                     = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46"
        # (3 unchanged attributes hidden)
    }

  # garage_bucket.cdn_uia_scottylabs_org will be updated in-place
! resource "garage_bucket" "cdn_uia_scottylabs_org" {
        id                     = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629"
        # (3 unchanged attributes hidden)
    }

Plan: 0 to add, 4 to change, 0 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p cdn
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p cdn
    

Plan: 0 to add, 4 to change, 0 to destroy.


5. project: sentry dir: tofu/sentry workspace: default

Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.35s


No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -p sentry
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p sentry
    

6. project: slack dir: tofu/slack workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.46s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # null_resource.slack_lnf_ch0_anish will be created
+ resource "null_resource" "slack_lnf_ch0_anish" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C01BAADS8U8"
          + "user"    = "U07FPJKFB5E"
        }
    }

  # null_resource.slack_lost-and-found_ch0_anish will be destroyed
  # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration)
- resource "null_resource" "slack_lost-and-found_ch0_anish" {
-       id       = "606459997443073999" -> null
-       triggers = {
          - "channel" = "C01BAADS8U8"
          - "user"    = "U07FPJKFB5E"
        } -> null
    }

Plan: 1 to add, 0 to change, 1 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p slack
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p slack
    

Plan: 1 to add, 0 to change, 1 to destroy.


7. project: keycloak dir: tofu/keycloak workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s


OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
- destroy

OpenTofu will perform the following actions:

  # keycloak_group.project_lnf_lost-and-found will be created
+ resource "keycloak_group" "project_lnf_lost-and-found" {
+       id        = (known after apply)
+       name      = "lost-and-found"
+       parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25"
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group" "project_lnf_lost-and-found_admins" {
+       id        = (known after apply)
+       name      = "admins"
+       parent_id = (known after apply)
+       path      = (known after apply)
+       realm_id  = "scottylabs"
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" {
-       attributes = {} -> null
-       id         = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       name       = "lost-and-found-v2" -> null
-       parent_id  = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null
-       path       = "/projects/lost-and-found-v2" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" {
-       attributes = {} -> null
-       id         = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       name       = "admins" -> null
-       parent_id  = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       path       = "/projects/lost-and-found-v2/admins" -> null
-       realm_id   = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lnf_lost-and-found will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created
+ resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" {
+       group_id = (known after apply)
+       id       = (known after apply)
+       members  = [
+           "apallati",
        ]
+       realm_id = "scottylabs"
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" {
-       group_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       id       = "scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed
  # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration)
- resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" {
-       group_id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       id       = "scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5" -> null
-       members  = [
-           "apallati",
        ] -> null
-       realm_id = "scottylabs" -> null
    }

  # keycloak_openid_client.lost_and_found will be created
+ resource "keycloak_openid_client" "lost_and_found" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_dev will be created
+ resource "keycloak_openid_client" "lost_and_found_dev" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-dev"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-dev"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "http://localhost:8090/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_staging will be created
+ resource "keycloak_openid_client" "lost_and_found_staging" {
+       access_token_lifespan                     = (known after apply)
+       access_type                               = "CONFIDENTIAL"
+       always_display_in_console                 = false
+       backchannel_logout_session_required       = true
+       client_authenticator_type                 = "client-secret"
+       client_id                                 = "lost-and-found-staging"
+       client_offline_session_idle_timeout       = (known after apply)
+       client_offline_session_max_lifespan       = (known after apply)
+       client_secret                             = (sensitive value)
+       client_secret_wo                          = (write-only attribute)
+       client_session_idle_timeout               = (known after apply)
+       client_session_max_lifespan               = (known after apply)
+       consent_required                          = (known after apply)
+       direct_access_grants_enabled              = false
+       display_on_consent_screen                 = (known after apply)
+       enabled                                   = true
+       exclude_issuer_from_auth_response         = (known after apply)
+       exclude_session_state_from_auth_response  = (known after apply)
+       frontchannel_logout_enabled               = (known after apply)
+       full_scope_allowed                        = true
+       id                                        = (known after apply)
+       implicit_flow_enabled                     = (known after apply)
+       import                                    = false
+       name                                      = "lost-and-found-staging"
+       oauth2_device_authorization_grant_enabled = false
+       oauth2_jwt_authorization_grant_enabled    = false
+       realm_id                                  = "scottylabs"
+       require_dpop_bound_tokens                 = (known after apply)
+       resource_server_id                        = (known after apply)
+       service_account_user_id                   = (known after apply)
+       service_accounts_enabled                  = (known after apply)
+       standard_flow_enabled                     = true
+       standard_token_exchange_enabled           = false
+       use_refresh_tokens                        = true
+       use_refresh_tokens_client_credentials     = false
+       valid_post_logout_redirect_uris           = (known after apply)
+       valid_redirect_uris                       = [
+           "https://oauth.scottylabs.org/oauth2/callback",
        ]
+       web_origins                               = [
+           "+",
        ]
    }

  # keycloak_openid_client.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_dev" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-dev" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-dev" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "http://localhost:8090/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_client.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_client" "lost_and_found_v2_staging" {
-       access_type                                = "CONFIDENTIAL" -> null
-       always_display_in_console                  = false -> null
-       backchannel_logout_revoke_offline_sessions = false -> null
-       backchannel_logout_session_required        = true -> null
-       client_authenticator_type                  = "client-secret" -> null
-       client_id                                  = "lost-and-found-v2-staging" -> null
-       client_secret                              = (sensitive value) -> null
-       client_secret_wo                           = (write-only attribute) -> null
-       consent_required                           = false -> null
-       direct_access_grants_enabled               = false -> null
-       display_on_consent_screen                  = false -> null
-       enabled                                    = true -> null
-       extra_config                               = {} -> null
-       frontchannel_logout_enabled                = false -> null
-       full_scope_allowed                         = true -> null
-       id                                         = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null
-       implicit_flow_enabled                      = false -> null
-       import                                     = false -> null
-       name                                       = "lost-and-found-v2-staging" -> null
-       oauth2_device_authorization_grant_enabled  = false -> null
-       oauth2_jwt_authorization_grant_enabled     = false -> null
-       realm_id                                   = "scottylabs" -> null
-       require_dpop_bound_tokens                  = false -> null
-       service_accounts_enabled                   = false -> null
-       standard_flow_enabled                      = true -> null
-       standard_token_exchange_enabled            = false -> null
-       use_refresh_tokens                         = true -> null
-       use_refresh_tokens_client_credentials      = false -> null
-       valid_post_logout_redirect_uris            = [] -> null
-       valid_redirect_uris                        = [
-           "https://oauth.scottylabs.org/oauth2/callback",
        ] -> null
-       web_origins                                = [
-           "+",
        ] -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created
+ resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" {
+       add_to_access_token        = true
+       add_to_id_token            = true
+       add_to_token_introspection = false
+       add_to_userinfo            = true
+       claim_name                 = "groups"
+       client_id                  = (known after apply)
+       full_path                  = true
+       id                         = (known after apply)
+       name                       = "groups"
+       realm_id                   = "scottylabs"
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null
-       full_path                  = true -> null
-       id                         = "d33c399d-0912-4ba3-8df7-b56f38c85358" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null
-       full_path                  = true -> null
-       id                         = "1065ebb3-f3a2-4913-9ec5-065307cbe9dd" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed
  # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration)
- resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" {
-       add_to_access_token        = true -> null
-       add_to_id_token            = true -> null
-       add_to_token_introspection = false -> null
-       add_to_userinfo            = true -> null
-       claim_name                 = "groups" -> null
-       client_id                  = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null
-       full_path                  = true -> null
-       id                         = "25b8f214-4a90-4cb8-8b82-34312b632b19" -> null
-       name                       = "groups" -> null
-       realm_id                   = "scottylabs" -> null
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_dev_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/dev/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_preview_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/preview/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_prod_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/prod/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_REALM"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/KEYCLOAK_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_staging_project_group will be created
+ resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" {
+       data                = (sensitive value)
+       data_json           = (sensitive value)
+       data_json_wo        = (write-only attribute)
+       delete_all_versions = false
+       disable_read        = false
+       id                  = (known after apply)
+       metadata            = (known after apply)
+       mount               = "secret"
+       name                = "secretspec/lost-and-found/staging/PROJECT_GROUP"
+       path                = (known after apply)

+       custom_metadata (known after apply)
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.842727945Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.730782109Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.546278873Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.218711134Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.218840819Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.920101537Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.84934745Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.534509095Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.73226062Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.735139229Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.242061332Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.226552553Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.845042776Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.850849007Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.806860882Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.736070856Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.551630162Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.332813436Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.335986035Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.811825153Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.915223836Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.914582223Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.846645383Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.736655131Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.323388702Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:01.226311384Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "2"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.546229988Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

  # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed
  # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration)
- resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" {
-       data                = (sensitive value) -> null
-       data_json           = (sensitive value) -> null
-       data_json_wo        = (write-only attribute) -> null
-       delete_all_versions = false -> null
-       disable_read        = false -> null
-       id                  = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       metadata            = {
          - "created_time"    = "2026-09-22T11:32:00.803735575Z"
          - "custom_metadata" = "null"
          - "deletion_time"   = ""
          - "destroyed"       = "false"
          - "version"         = "3"
        } -> null
-       mount               = "secret" -> null
-       name                = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null
-       path                = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null

-       custom_metadata {
-           cas_required         = false -> null
-           data                 = {} -> null
-           delete_version_after = 0 -> null
-           max_versions         = 0 -> null
        }
    }

Plan: 38 to add, 0 to change, 38 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p keycloak
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p keycloak
    

Plan: 38 to add, 0 to change, 38 to destroy.


8. project: git dir: tofu/git workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.42s


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)
- destroy

OpenTofu will perform the following actions:

  # forgejo_repository.lnf_lost_and_found will be updated in-place
! resource "forgejo_repository" "lnf_lost_and_found" {
!       clone_url                   = "https://git.cmu.dev/ScottyLabs/lost-and-found.git" -> (known after apply)
!       created_at                  = "2026-09-19T20:27:52Z" -> (known after apply)
+       description                 = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items"
!       empty                       = false -> (known after apply)
+       external_tracker            = (known after apply)
+       external_wiki               = (known after apply)
!       forks_count                 = 0 -> (known after apply)
!       full_name                   = "ScottyLabs/lost-and-found" -> (known after apply)
!       html_url                    = "https://git.cmu.dev/ScottyLabs/lost-and-found" -> (known after apply)
        id                          = 149
!       internal_tracker            = {
!           allow_only_contributors_to_track_time = true -> (known after apply)
!           enable_issue_dependencies             = true -> (known after apply)
!           enable_time_tracker                   = true -> (known after apply)
        } -> (known after apply)
+       mirror_interval             = (known after apply)
!       mirror_updated              = "0001-01-01T00:00:00Z" -> (known after apply)
        name                        = "lost-and-found"
!       open_issues_count           = 0 -> (known after apply)
!       open_pr_counter             = 0 -> (known after apply)
!       permissions                 = {
!           admin = true -> (known after apply)
!           pull  = true -> (known after apply)
!           push  = true -> (known after apply)
        } -> (known after apply)
!       release_counter             = 0 -> (known after apply)
!       size                        = 12113 -> (known after apply)
!       ssh_url                     = "ssh://forgejo@git.cmu.dev/ScottyLabs/lost-and-found.git" -> (known after apply)
!       stars_count                 = 0 -> (known after apply)
!       updated_at                  = "2026-09-19T20:29:49Z" -> (known after apply)
!       watchers_count              = 3 -> (known after apply)
!       website                     = "https://lostandfound.andrew.cmu.edu" -> "https://lostandfound.andrew.cmu.edu/"
        # (30 unchanged attributes hidden)
    }

  # forgejo_team.lnf will be created
+ resource "forgejo_team" "lnf" {
+       can_create_org_repo       = (known after apply)
+       description               = "Lost and Found"
+       id                        = (known after apply)
+       includes_all_repositories = (known after apply)
+       name                      = "lnf"
+       organization              = (known after apply)
+       organization_id           = 3
+       permission                = "write"
+       units_map                 = {
          + "repo.code"   = "write"
          + "repo.issues" = "write"
          + "repo.pulls"  = "write"
        }
    }

  # forgejo_team.lost-and-found will be destroyed
  # (because forgejo_team.lost-and-found is not in configuration)
- resource "forgejo_team" "lost-and-found" {
-       can_create_org_repo       = false -> null
-       description               = "Lost and Found" -> null
-       id                        = 5 -> null
-       includes_all_repositories = false -> null
-       name                      = "lost-and-found" -> null
-       organization              = "ScottyLabs" -> null
-       organization_id           = 3 -> null
-       permission                = "write" -> null
-       units_map                 = {
          - "repo.code"   = "write"
          - "repo.issues" = "write"
          - "repo.pulls"  = "write"
        } -> null
    }

  # forgejo_team.lost-and-found_leads will be created
+ resource "forgejo_team" "lost-and-found_leads" {
+       can_create_org_repo       = false
+       description               = "Lost and Found leads"
+       id                        = (known after apply)
+       includes_all_repositories = false
+       name                      = "lost-and-found-leads"
+       organization              = (known after apply)
+       organization_id           = 3
+       permission                = "admin"
+       units_map                 = {
          + "repo.actions"    = "admin"
          + "repo.code"       = "admin"
          + "repo.ext_issues" = "admin"
          + "repo.ext_wiki"   = "admin"
          + "repo.issues"     = "admin"
          + "repo.packages"   = "admin"
          + "repo.projects"   = "admin"
          + "repo.pulls"      = "admin"
          + "repo.releases"   = "admin"
          + "repo.wiki"       = "admin"
        }
    }

  # forgejo_team_member.lnf_anish will be created
+ resource "forgejo_team_member" "lnf_anish" {
+       team_id = (known after apply)
+       user    = "anish"
    }

  # forgejo_team_member.lost-and-found_anish will be destroyed
  # (because forgejo_team_member.lost-and-found_anish is not in configuration)
- resource "forgejo_team_member" "lost-and-found_anish" {
-       team_id = 5 -> null
-       user    = "anish" -> null
    }

  # forgejo_team_member.lost-and-found_leads_anish will be created
+ resource "forgejo_team_member" "lost-and-found_leads_anish" {
+       team_id = (known after apply)
+       user    = "anish"
    }

  # forgejo_team_repository.lnf_lost_and_found will be created
+ resource "forgejo_team_repository" "lnf_lost_and_found" {
+       owner      = "ScottyLabs"
+       repository = "lost-and-found"
+       team_id    = (known after apply)
    }

  # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created
+ resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" {
+       owner      = "ScottyLabs"
+       repository = "lost-and-found"
+       team_id    = (known after apply)
    }

  # github_actions_repository_permissions.lnf_lost_and_found_actions will be created
+ resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" {
+       enabled              = false
+       id                   = (known after apply)
+       repository           = "lost-and-found"
+       sha_pinning_required = (known after apply)
    }

  # github_repository.lnf_lost_and_found will be created
+ resource "github_repository" "lnf_lost_and_found" {
+       allow_auto_merge                        = false
+       allow_forking                           = (known after apply)
+       allow_merge_commit                      = true
+       allow_rebase_merge                      = true
+       allow_squash_merge                      = true
+       archived                                = false
+       default_branch                          = (known after apply)
+       delete_branch_on_merge                  = false
+       description                             = "READ-ONLY MIRROR"
+       etag                                    = (known after apply)
+       fork                                    = (known after apply)
+       full_name                               = (known after apply)
+       git_clone_url                           = (known after apply)
+       has_discussions                         = false
+       has_issues                              = false
+       has_projects                            = false
+       has_wiki                                = false
+       homepage_url                            = "https://git.cmu.dev/ScottyLabs/lost-and-found"
+       html_url                                = (known after apply)
+       http_clone_url                          = (known after apply)
+       id                                      = (known after apply)
+       ignore_vulnerability_alerts_during_read = false
+       merge_commit_message                    = "PR_TITLE"
+       merge_commit_title                      = "MERGE_MESSAGE"
+       name                                    = "lost-and-found"
+       node_id                                 = (known after apply)
+       primary_language                        = (known after apply)
+       private                                 = (known after apply)
+       repo_id                                 = (known after apply)
+       source_owner                            = (known after apply)
+       source_repo                             = (known after apply)
+       squash_merge_commit_message             = "COMMIT_MESSAGES"
+       squash_merge_commit_title               = "COMMIT_OR_PR_TITLE"
+       ssh_clone_url                           = (known after apply)
+       svn_url                                 = (known after apply)
+       topics                                  = (known after apply)
+       visibility                              = "public"
+       vulnerability_alerts                    = (known after apply)
+       web_commit_signoff_required             = (known after apply)

+       security_and_analysis (known after apply)
    }

  # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created
+ resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" {
+       etag       = (known after apply)
+       id         = (known after apply)
+       key        = (known after apply)
+       read_only  = false
+       repository = "lost-and-found"
+       title      = "Forgejo mirror"
    }

  # github_repository_ruleset.lnf_lost_and_found_ruleset will be created
+ resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" {
+       enforcement = "active"
+       etag        = (known after apply)
+       id          = (known after apply)
+       name        = "Default"
+       node_id     = (known after apply)
+       repository  = "lost-and-found"
+       ruleset_id  = (known after apply)
+       target      = "branch"

+       bypass_actors {
+           actor_id    = (known after apply)
+           actor_type  = "DeployKey"
+           bypass_mode = "always"
        }

+       conditions {
+           ref_name {
+               exclude = []
+               include = [
+                   "~ALL",
                ]
            }
        }

+       rules {
+           creation                      = true
+           deletion                      = true
+           non_fast_forward              = true
+           update                        = true
+           update_allows_fetch_and_merge = false

+           pull_request {
+               allowed_merge_methods             = (known after apply)
+               dismiss_stale_reviews_on_push     = false
+               require_code_owner_review         = false
+               require_last_push_approval        = false
+               required_approving_review_count   = 1
+               required_review_thread_resolution = false
            }
        }
    }

  # restapi_object.lnf_lost_and_found_kennel_webhook will be created
+ resource "restapi_object" "lnf_lost_and_found_kennel_webhook" {
+       api_data        = (known after apply)
+       api_response    = (known after apply)
+       create_response = (known after apply)
+       data            = (sensitive value)
+       id              = (known after apply)
+       id_attribute    = "id"
+       path            = "/api/v1/repos/ScottyLabs/lost-and-found/hooks"
+       update_method   = "PATCH"
    }

  # restapi_object.lnf_lost_and_found_push_mirror will be created
+ resource "restapi_object" "lnf_lost_and_found_push_mirror" {
+       api_data        = (known after apply)
+       api_response    = (known after apply)
+       create_response = (known after apply)
+       data            = jsonencode(
            {
+               interval       = "8h0m0s"
+               remote_address = "git@github.com:ScottyLabs/lost-and-found.git"
+               sync_on_commit = true
+               use_ssh        = true
            }
        )
+       id              = (known after apply)
+       id_attribute    = "remote_name"
+       path            = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors"
    }

Plan: 12 to add, 1 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p git
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p git
    

Plan: 12 to add, 1 to change, 2 to destroy.


9. project: discord dir: tofu/discord workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.34s


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)
- destroy

OpenTofu will perform the following actions:

  # discord_channel_permission.lnf_ch0 will be created
+ resource "discord_channel_permission" "lnf_ch0" {
+       allow        = 1024
+       channel_id   = "1526510267607945326"
+       id           = (known after apply)
+       overwrite_id = (known after apply)
+       type         = "role"
    }

  # discord_channel_permission.lost-and-found_ch0 will be destroyed
  # (because discord_channel_permission.lost-and-found_ch0 is not in configuration)
- resource "discord_channel_permission" "lost-and-found_ch0" {
-       allow        = 1024 -> null
-       channel_id   = "1526510267607945326" -> null
-       deny         = 0 -> null
-       id           = "1526510267607945326:1551918989645582487:role" -> null
-       overwrite_id = "1551918989645582487" -> null
-       type         = "role" -> null
    }

  # discord_member_roles.anish will be updated in-place
! resource "discord_member_roles" "anish" {
        id        = "1353118209024331948:315249559473225729"
        # (2 unchanged attributes hidden)

-       role {
-           has_role = true -> null
-           role_id  = "1551918989645582487" -> null
        }
+       role {
+           has_role = true
+           role_id  = (known after apply)
        }

        # (14 unchanged blocks hidden)
    }

  # discord_role.lnf will be created
+ resource "discord_role" "lnf" {
+       hoist       = false
+       id          = (known after apply)
+       managed     = (known after apply)
+       mentionable = false
+       name        = "Lost and Found"
+       permissions = 0
+       position    = (known after apply)
+       server_id   = "1353118209024331948"
    }

  # discord_role.lost-and-found will be destroyed
  # (because discord_role.lost-and-found is not in configuration)
- resource "discord_role" "lost-and-found" {
-       color       = 0 -> null
-       hoist       = false -> null
-       id          = "1551918989645582487" -> null
-       managed     = false -> null
-       mentionable = false -> null
-       name        = "Lost and Found" -> null
-       permissions = 0 -> null
-       position    = 1 -> null
-       server_id   = "1353118209024331948" -> null
    }

Plan: 2 to add, 1 to change, 2 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -p discord
    
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -p discord
    

Plan: 2 to add, 1 to change, 2 to destroy.


Plan Summary

9 projects, 5 with changes, 4 with no changes, 0 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
    
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock
    
Ran Plan for 9 projects: 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `sentry` dir: `tofu/sentry` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` --- ### 1. project: `openbao` dir: `tofu/openbao` workspace: `default` ```diff Finished `release` profile [optimized] target(s) in 0.12s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p openbao ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fopenbao%252Fdefault%252Fopenbao) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p openbao ``` --- ### 2. project: `posthog` dir: `tofu/posthog` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p posthog ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fposthog%252Fdefault%252Fposthog) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p posthog ``` --- ### 3. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on shared package cache Finished `release` profile [optimized] target(s) in 0.30s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p matrix_bridges ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fmatrix_bridges%252Fdefault%252Fmatrix_bridges) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p matrix_bridges ``` --- ### 4. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.37s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ! update in-place (current -> planned) OpenTofu will perform the following actions: # garage_bucket.cdn_cmu-courses_courses will be updated in-place ! resource "garage_bucket" "cdn_cmu-courses_courses" { id = "ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd" # (3 unchanged attributes hidden) } # garage_bucket.cdn_cmu-housing_housing will be updated in-place ! resource "garage_bucket" "cdn_cmu-housing_housing" { id = "fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8" # (3 unchanged attributes hidden) } # garage_bucket.cdn_quest_quest will be updated in-place ! resource "garage_bucket" "cdn_quest_quest" { id = "64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46" # (3 unchanged attributes hidden) } # garage_bucket.cdn_uia_scottylabs_org will be updated in-place ! resource "garage_bucket" "cdn_uia_scottylabs_org" { id = "a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629" # (3 unchanged attributes hidden) } Plan: 0 to add, 4 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p cdn ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fcdn%252Fdefault%252Fcdn) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p cdn ``` Plan: 0 to add, 4 to change, 0 to destroy. --- ### 5. project: `sentry` dir: `tofu/sentry` workspace: `default` ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.35s No changes. Your infrastructure matches the configuration. OpenTofu has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ``` * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p sentry ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fsentry%252Fdefault%252Fsentry) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p sentry ``` --- ### 6. project: `slack` dir: `tofu/slack` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.46s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # null_resource.slack_lnf_ch0_anish will be created + resource "null_resource" "slack_lnf_ch0_anish" { + id = (known after apply) + triggers = { + "channel" = "C01BAADS8U8" + "user" = "U07FPJKFB5E" } } # null_resource.slack_lost-and-found_ch0_anish will be destroyed # (because null_resource.slack_lost-and-found_ch0_anish is not in configuration) - resource "null_resource" "slack_lost-and-found_ch0_anish" { - id = "606459997443073999" -> null - triggers = { - "channel" = "C01BAADS8U8" - "user" = "U07FPJKFB5E" } -> null } Plan: 1 to add, 0 to change, 1 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p slack ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fslack%252Fdefault%252Fslack) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p slack ``` Plan: 1 to add, 0 to change, 1 to destroy. --- ### 7. project: `keycloak` dir: `tofu/keycloak` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create - destroy OpenTofu will perform the following actions: # keycloak_group.project_lnf_lost-and-found will be created + resource "keycloak_group" "project_lnf_lost-and-found" { + id = (known after apply) + name = "lost-and-found" + parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lnf_lost-and-found_admins will be created + resource "keycloak_group" "project_lnf_lost-and-found_admins" { + id = (known after apply) + name = "admins" + parent_id = (known after apply) + path = (known after apply) + realm_id = "scottylabs" } # keycloak_group.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2" { - attributes = {} -> null - id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - name = "lost-and-found-v2" -> null - parent_id = "9e6890c8-50a0-4b82-86b9-91791fffac25" -> null - path = "/projects/lost-and-found-v2" -> null - realm_id = "scottylabs" -> null } # keycloak_group.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group" "project_lost-and-found_lost-and-found-v2_admins" { - attributes = {} -> null - id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null - name = "admins" -> null - parent_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - path = "/projects/lost-and-found-v2/admins" -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lnf_lost-and-found will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lnf_lost-and-found_admins will be created + resource "keycloak_group_memberships" "project_lnf_lost-and-found_admins" { + group_id = (known after apply) + id = (known after apply) + members = [ + "apallati", ] + realm_id = "scottylabs" } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2 is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2" { - group_id = "0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - id = "scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins will be destroyed # (because keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins is not in configuration) - resource "keycloak_group_memberships" "project_lost-and-found_lost-and-found-v2_admins" { - group_id = "3dc57745-0423-4f6e-960c-55dc400840f5" -> null - id = "scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5" -> null - members = [ - "apallati", ] -> null - realm_id = "scottylabs" -> null } # keycloak_openid_client.lost_and_found will be created + resource "keycloak_openid_client" "lost_and_found" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_dev will be created + resource "keycloak_openid_client" "lost_and_found_dev" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-dev" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-dev" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "http://localhost:8090/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_staging will be created + resource "keycloak_openid_client" "lost_and_found_staging" { + access_token_lifespan = (known after apply) + access_type = "CONFIDENTIAL" + always_display_in_console = false + backchannel_logout_session_required = true + client_authenticator_type = "client-secret" + client_id = "lost-and-found-staging" + client_offline_session_idle_timeout = (known after apply) + client_offline_session_max_lifespan = (known after apply) + client_secret = (sensitive value) + client_secret_wo = (write-only attribute) + client_session_idle_timeout = (known after apply) + client_session_max_lifespan = (known after apply) + consent_required = (known after apply) + direct_access_grants_enabled = false + display_on_consent_screen = (known after apply) + enabled = true + exclude_issuer_from_auth_response = (known after apply) + exclude_session_state_from_auth_response = (known after apply) + frontchannel_logout_enabled = (known after apply) + full_scope_allowed = true + id = (known after apply) + implicit_flow_enabled = (known after apply) + import = false + name = "lost-and-found-staging" + oauth2_device_authorization_grant_enabled = false + oauth2_jwt_authorization_grant_enabled = false + realm_id = "scottylabs" + require_dpop_bound_tokens = (known after apply) + resource_server_id = (known after apply) + service_account_user_id = (known after apply) + service_accounts_enabled = (known after apply) + standard_flow_enabled = true + standard_token_exchange_enabled = false + use_refresh_tokens = true + use_refresh_tokens_client_credentials = false + valid_post_logout_redirect_uris = (known after apply) + valid_redirect_uris = [ + "https://oauth.scottylabs.org/oauth2/callback", ] + web_origins = [ + "+", ] } # keycloak_openid_client.lost_and_found_v2 will be destroyed # (because keycloak_openid_client.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_client.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_dev" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-dev" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-dev" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "http://localhost:8090/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_client.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_client.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_client" "lost_and_found_v2_staging" { - access_type = "CONFIDENTIAL" -> null - always_display_in_console = false -> null - backchannel_logout_revoke_offline_sessions = false -> null - backchannel_logout_session_required = true -> null - client_authenticator_type = "client-secret" -> null - client_id = "lost-and-found-v2-staging" -> null - client_secret = (sensitive value) -> null - client_secret_wo = (write-only attribute) -> null - consent_required = false -> null - direct_access_grants_enabled = false -> null - display_on_consent_screen = false -> null - enabled = true -> null - extra_config = {} -> null - frontchannel_logout_enabled = false -> null - full_scope_allowed = true -> null - id = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null - implicit_flow_enabled = false -> null - import = false -> null - name = "lost-and-found-v2-staging" -> null - oauth2_device_authorization_grant_enabled = false -> null - oauth2_jwt_authorization_grant_enabled = false -> null - realm_id = "scottylabs" -> null - require_dpop_bound_tokens = false -> null - service_accounts_enabled = false -> null - standard_flow_enabled = true -> null - standard_token_exchange_enabled = false -> null - use_refresh_tokens = true -> null - use_refresh_tokens_client_credentials = false -> null - valid_post_logout_redirect_uris = [] -> null - valid_redirect_uris = [ - "https://oauth.scottylabs.org/oauth2/callback", ] -> null - web_origins = [ - "+", ] -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_dev" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging will be created + resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_staging" { + add_to_access_token = true + add_to_id_token = true + add_to_token_introspection = false + add_to_userinfo = true + claim_name = "groups" + client_id = (known after apply) + full_path = true + id = (known after apply) + name = "groups" + realm_id = "scottylabs" } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2 is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "f0d092f8-08a4-49ca-a9ff-b780d99a6111" -> null - full_path = true -> null - id = "d33c399d-0912-4ba3-8df7-b56f38c85358" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_dev" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "9b750a5a-dd99-41f7-be75-64b5e9c9bc44" -> null - full_path = true -> null - id = "1065ebb3-f3a2-4913-9ec5-065307cbe9dd" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging will be destroyed # (because keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging is not in configuration) - resource "keycloak_openid_group_membership_protocol_mapper" "lost_and_found_v2_staging" { - add_to_access_token = true -> null - add_to_id_token = true -> null - add_to_token_introspection = false -> null - add_to_userinfo = true -> null - claim_name = "groups" -> null - client_id = "0bb6c816-5065-4929-a41b-a5195812c02f" -> null - full_path = true -> null - id = "25b8f214-4a90-4cb8-8b82-34312b632b19" -> null - name = "groups" -> null - realm_id = "scottylabs" -> null } # vault_kv_secret_v2.lost_and_found_dev_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_dev_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_dev_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/dev/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_preview_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_preview_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/preview/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_prod_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_prod_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/prod/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_realm will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_realm" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_REALM" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_keycloak_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_keycloak_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/KEYCLOAK_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oauth_relay_url" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OAUTH_RELAY_URL" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_id will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_id" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_ID" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_oidc_client_secret" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_admin_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_admin_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_staging_project_group will be created + resource "vault_kv_secret_v2" "lost_and_found_staging_project_group" { + data = (sensitive value) + data_json = (sensitive value) + data_json_wo = (write-only attribute) + delete_all_versions = false + disable_read = false + id = (known after apply) + metadata = (known after apply) + mount = "secret" + name = "secretspec/lost-and-found/staging/PROJECT_GROUP" + path = (known after apply) + custom_metadata (known after apply) } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.842727945Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.730782109Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.546278873Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.218711134Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.218840819Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.920101537Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_dev_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_dev_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_dev_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.84934745Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.534509095Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.73226062Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.735139229Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.242061332Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.226552553Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.845042776Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_preview_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_preview_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_preview_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.850849007Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.806860882Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.736070856Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.551630162Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.332813436Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.335986035Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.811825153Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_prod_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_prod_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_prod_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.915223836Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_realm" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.914582223Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_keycloak_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.846645383Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oauth_relay_url" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.736655131Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_id" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.323388702Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_oidc_client_secret" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - metadata = { - "created_time" = "2026-09-22T11:32:01.226311384Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "2" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_admin_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.546229988Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } # vault_kv_secret_v2.lost_and_found_v2_staging_project_group will be destroyed # (because vault_kv_secret_v2.lost_and_found_v2_staging_project_group is not in configuration) - resource "vault_kv_secret_v2" "lost_and_found_v2_staging_project_group" { - data = (sensitive value) -> null - data_json = (sensitive value) -> null - data_json_wo = (write-only attribute) -> null - delete_all_versions = false -> null - disable_read = false -> null - id = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - metadata = { - "created_time" = "2026-09-22T11:32:00.803735575Z" - "custom_metadata" = "null" - "deletion_time" = "" - "destroyed" = "false" - "version" = "3" } -> null - mount = "secret" -> null - name = "secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - path = "secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP" -> null - custom_metadata { - cas_required = false -> null - data = {} -> null - delete_version_after = 0 -> null - max_versions = 0 -> null } } Plan: 38 to add, 0 to change, 38 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p keycloak ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fkeycloak%252Fdefault%252Fkeycloak) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p keycloak ``` Plan: 38 to add, 0 to change, 38 to destroy. --- ### 8. project: `git` dir: `tofu/git` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.42s 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) - destroy OpenTofu will perform the following actions: # forgejo_repository.lnf_lost_and_found will be updated in-place ! resource "forgejo_repository" "lnf_lost_and_found" { ! clone_url = "https://git.cmu.dev/ScottyLabs/lost-and-found.git" -> (known after apply) ! created_at = "2026-09-19T20:27:52Z" -> (known after apply) + description = "Official Carnegie Mellon University platform for reporting, managing, and finding lost items" ! empty = false -> (known after apply) + external_tracker = (known after apply) + external_wiki = (known after apply) ! forks_count = 0 -> (known after apply) ! full_name = "ScottyLabs/lost-and-found" -> (known after apply) ! html_url = "https://git.cmu.dev/ScottyLabs/lost-and-found" -> (known after apply) id = 149 ! internal_tracker = { ! allow_only_contributors_to_track_time = true -> (known after apply) ! enable_issue_dependencies = true -> (known after apply) ! enable_time_tracker = true -> (known after apply) } -> (known after apply) + mirror_interval = (known after apply) ! mirror_updated = "0001-01-01T00:00:00Z" -> (known after apply) name = "lost-and-found" ! open_issues_count = 0 -> (known after apply) ! open_pr_counter = 0 -> (known after apply) ! permissions = { ! admin = true -> (known after apply) ! pull = true -> (known after apply) ! push = true -> (known after apply) } -> (known after apply) ! release_counter = 0 -> (known after apply) ! size = 12113 -> (known after apply) ! ssh_url = "ssh://forgejo@git.cmu.dev/ScottyLabs/lost-and-found.git" -> (known after apply) ! stars_count = 0 -> (known after apply) ! updated_at = "2026-09-19T20:29:49Z" -> (known after apply) ! watchers_count = 3 -> (known after apply) ! website = "https://lostandfound.andrew.cmu.edu" -> "https://lostandfound.andrew.cmu.edu/" # (30 unchanged attributes hidden) } # forgejo_team.lnf will be created + resource "forgejo_team" "lnf" { + can_create_org_repo = (known after apply) + description = "Lost and Found" + id = (known after apply) + includes_all_repositories = (known after apply) + name = "lnf" + organization = (known after apply) + organization_id = 3 + permission = "write" + units_map = { + "repo.code" = "write" + "repo.issues" = "write" + "repo.pulls" = "write" } } # forgejo_team.lost-and-found will be destroyed # (because forgejo_team.lost-and-found is not in configuration) - resource "forgejo_team" "lost-and-found" { - can_create_org_repo = false -> null - description = "Lost and Found" -> null - id = 5 -> null - includes_all_repositories = false -> null - name = "lost-and-found" -> null - organization = "ScottyLabs" -> null - organization_id = 3 -> null - permission = "write" -> null - units_map = { - "repo.code" = "write" - "repo.issues" = "write" - "repo.pulls" = "write" } -> null } # forgejo_team.lost-and-found_leads will be created + resource "forgejo_team" "lost-and-found_leads" { + can_create_org_repo = false + description = "Lost and Found leads" + id = (known after apply) + includes_all_repositories = false + name = "lost-and-found-leads" + organization = (known after apply) + organization_id = 3 + permission = "admin" + units_map = { + "repo.actions" = "admin" + "repo.code" = "admin" + "repo.ext_issues" = "admin" + "repo.ext_wiki" = "admin" + "repo.issues" = "admin" + "repo.packages" = "admin" + "repo.projects" = "admin" + "repo.pulls" = "admin" + "repo.releases" = "admin" + "repo.wiki" = "admin" } } # forgejo_team_member.lnf_anish will be created + resource "forgejo_team_member" "lnf_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_member.lost-and-found_anish will be destroyed # (because forgejo_team_member.lost-and-found_anish is not in configuration) - resource "forgejo_team_member" "lost-and-found_anish" { - team_id = 5 -> null - user = "anish" -> null } # forgejo_team_member.lost-and-found_leads_anish will be created + resource "forgejo_team_member" "lost-and-found_leads_anish" { + team_id = (known after apply) + user = "anish" } # forgejo_team_repository.lnf_lost_and_found will be created + resource "forgejo_team_repository" "lnf_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # forgejo_team_repository.lost-and-found_leads_lost_and_found will be created + resource "forgejo_team_repository" "lost-and-found_leads_lost_and_found" { + owner = "ScottyLabs" + repository = "lost-and-found" + team_id = (known after apply) } # github_actions_repository_permissions.lnf_lost_and_found_actions will be created + resource "github_actions_repository_permissions" "lnf_lost_and_found_actions" { + enabled = false + id = (known after apply) + repository = "lost-and-found" + sha_pinning_required = (known after apply) } # github_repository.lnf_lost_and_found will be created + resource "github_repository" "lnf_lost_and_found" { + allow_auto_merge = false + allow_forking = (known after apply) + allow_merge_commit = true + allow_rebase_merge = true + allow_squash_merge = true + archived = false + default_branch = (known after apply) + delete_branch_on_merge = false + description = "READ-ONLY MIRROR" + etag = (known after apply) + fork = (known after apply) + full_name = (known after apply) + git_clone_url = (known after apply) + has_discussions = false + has_issues = false + has_projects = false + has_wiki = false + homepage_url = "https://git.cmu.dev/ScottyLabs/lost-and-found" + html_url = (known after apply) + http_clone_url = (known after apply) + id = (known after apply) + ignore_vulnerability_alerts_during_read = false + merge_commit_message = "PR_TITLE" + merge_commit_title = "MERGE_MESSAGE" + name = "lost-and-found" + node_id = (known after apply) + primary_language = (known after apply) + private = (known after apply) + repo_id = (known after apply) + source_owner = (known after apply) + source_repo = (known after apply) + squash_merge_commit_message = "COMMIT_MESSAGES" + squash_merge_commit_title = "COMMIT_OR_PR_TITLE" + ssh_clone_url = (known after apply) + svn_url = (known after apply) + topics = (known after apply) + visibility = "public" + vulnerability_alerts = (known after apply) + web_commit_signoff_required = (known after apply) + security_and_analysis (known after apply) } # github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key will be created + resource "github_repository_deploy_key" "lnf_lost_and_found_mirror_deploy_key" { + etag = (known after apply) + id = (known after apply) + key = (known after apply) + read_only = false + repository = "lost-and-found" + title = "Forgejo mirror" } # github_repository_ruleset.lnf_lost_and_found_ruleset will be created + resource "github_repository_ruleset" "lnf_lost_and_found_ruleset" { + enforcement = "active" + etag = (known after apply) + id = (known after apply) + name = "Default" + node_id = (known after apply) + repository = "lost-and-found" + ruleset_id = (known after apply) + target = "branch" + bypass_actors { + actor_id = (known after apply) + actor_type = "DeployKey" + bypass_mode = "always" } + conditions { + ref_name { + exclude = [] + include = [ + "~ALL", ] } } + rules { + creation = true + deletion = true + non_fast_forward = true + update = true + update_allows_fetch_and_merge = false + pull_request { + allowed_merge_methods = (known after apply) + dismiss_stale_reviews_on_push = false + require_code_owner_review = false + require_last_push_approval = false + required_approving_review_count = 1 + required_review_thread_resolution = false } } } # restapi_object.lnf_lost_and_found_kennel_webhook will be created + resource "restapi_object" "lnf_lost_and_found_kennel_webhook" { + api_data = (known after apply) + api_response = (known after apply) + create_response = (known after apply) + data = (sensitive value) + id = (known after apply) + id_attribute = "id" + path = "/api/v1/repos/ScottyLabs/lost-and-found/hooks" + update_method = "PATCH" } # restapi_object.lnf_lost_and_found_push_mirror will be created + resource "restapi_object" "lnf_lost_and_found_push_mirror" { + api_data = (known after apply) + api_response = (known after apply) + create_response = (known after apply) + data = jsonencode( { + interval = "8h0m0s" + remote_address = "git@github.com:ScottyLabs/lost-and-found.git" + sync_on_commit = true + use_ssh = true } ) + id = (known after apply) + id_attribute = "remote_name" + path = "/api/v1/repos/ScottyLabs/lost-and-found/push_mirrors" } Plan: 12 to add, 1 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p git ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fgit%252Fdefault%252Fgit) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p git ``` Plan: 12 to add, 1 to change, 2 to destroy. --- ### 9. project: `discord` dir: `tofu/discord` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.34s 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) - destroy OpenTofu will perform the following actions: # discord_channel_permission.lnf_ch0 will be created + resource "discord_channel_permission" "lnf_ch0" { + allow = 1024 + channel_id = "1526510267607945326" + id = (known after apply) + overwrite_id = (known after apply) + type = "role" } # discord_channel_permission.lost-and-found_ch0 will be destroyed # (because discord_channel_permission.lost-and-found_ch0 is not in configuration) - resource "discord_channel_permission" "lost-and-found_ch0" { - allow = 1024 -> null - channel_id = "1526510267607945326" -> null - deny = 0 -> null - id = "1526510267607945326:1551918989645582487:role" -> null - overwrite_id = "1551918989645582487" -> null - type = "role" -> null } # discord_member_roles.anish will be updated in-place ! resource "discord_member_roles" "anish" { id = "1353118209024331948:315249559473225729" # (2 unchanged attributes hidden) - role { - has_role = true -> null - role_id = "1551918989645582487" -> null } + role { + has_role = true + role_id = (known after apply) } # (14 unchanged blocks hidden) } # discord_role.lnf will be created + resource "discord_role" "lnf" { + hoist = false + id = (known after apply) + managed = (known after apply) + mentionable = false + name = "Lost and Found" + permissions = 0 + position = (known after apply) + server_id = "1353118209024331948" } # discord_role.lost-and-found will be destroyed # (because discord_role.lost-and-found is not in configuration) - resource "discord_role" "lost-and-found" { - color = 0 -> null - hoist = false -> null - id = "1551918989645582487" -> null - managed = false -> null - mentionable = false -> null - name = "Lost and Found" -> null - permissions = 0 -> null - position = 1 -> null - server_id = "1353118209024331948" -> null } Plan: 2 to add, 1 to change, 2 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p discord ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fdiscord%252Fdefault%252Fdiscord) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p discord ``` Plan: 2 to add, 1 to change, 2 to destroy. --- ### Plan Summary 9 projects, 5 with changes, 4 with no changes, 0 failed * :fast_forward: To **apply** all unapplied plans from this Pull Request, comment: ```shell atlantis apply ``` * :put_litter_in_its_place: To **delete** all plans and locks from this Pull Request, comment: ```shell atlantis unlock ```
Author
Owner

atlantis apply

atlantis apply

Ran Apply for 9 projects:

  1. project: sentry dir: tofu/sentry workspace: default
  2. project: openbao dir: tofu/openbao workspace: default
  3. project: matrix_bridges dir: tofu/matrix_bridges workspace: default
  4. project: posthog dir: tofu/posthog workspace: default
  5. project: cdn dir: tofu/cdn workspace: default
  6. project: slack dir: tofu/slack workspace: default
  7. project: discord dir: tofu/discord workspace: default
  8. project: keycloak dir: tofu/keycloak workspace: default
  9. project: git dir: tofu/git workspace: default

1. project: sentry dir: tofu/sentry workspace: default

Show Output
Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.18s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

2. project: openbao dir: tofu/openbao workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.23s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

3. project: matrix_bridges dir: tofu/matrix_bridges workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.40s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

4. project: posthog dir: tofu/posthog workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.49s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

5. project: cdn dir: tofu/cdn workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.40s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
garage_bucket.cdn_cmu-courses_courses: Modifying... [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd]
garage_bucket.cdn_uia_scottylabs_org: Modifying... [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629]
garage_bucket.cdn_cmu-housing_housing: Modifying... [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8]
garage_bucket.cdn_quest_quest: Modifying... [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46]
garage_bucket.cdn_uia_scottylabs_org: Modifications complete after 0s [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629]
garage_bucket.cdn_cmu-courses_courses: Modifications complete after 0s [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd]
garage_bucket.cdn_cmu-housing_housing: Modifications complete after 0s [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8]
garage_bucket.cdn_quest_quest: Modifications complete after 0s [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46]

Apply complete! Resources: 0 added, 4 changed, 0 destroyed.

6. project: slack dir: tofu/slack workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.49s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
null_resource.slack_lost-and-found_ch0_anish: Destroying... [id=606459997443073999]
null_resource.slack_lnf_ch0_anish: Creating...
null_resource.slack_lost-and-found_ch0_anish: Destruction complete after 1s
null_resource.slack_lnf_ch0_anish: Provisioning with 'local-exec'...
null_resource.slack_lnf_ch0_anish (local-exec): Executing: ["/bin/sh" "-c" "governance slack-invite --channel C01BAADS8U8 --user U07FPJKFB5E"]
null_resource.slack_lnf_ch0_anish: Creation complete after 0s [id=1428149583536601906]

Apply complete! Resources: 1 added, 0 changed, 1 destroyed.

7. project: discord dir: tofu/discord workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.41s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
discord_channel_permission.lost-and-found_ch0: Destroying... [id=1526510267607945326:1551918989645582487:role]
discord_role.lnf: Creating...
discord_channel_permission.lost-and-found_ch0: Destruction complete after 1s
discord_role.lost-and-found: Destroying... [id=1551918989645582487]
discord_role.lnf: Creation complete after 1s [id=1551927765769527427]
discord_channel_permission.lnf_ch0: Creating...
discord_role.lost-and-found: Destruction complete after 0s
discord_member_roles.anish: Modifying... [id=1353118209024331948:315249559473225729]
discord_channel_permission.lnf_ch0: Creation complete after 0s [id=1526510267607945326:1551927765769527427:role]
discord_member_roles.anish: Modifications complete after 1s [id=1353118209024331948:315249559473225729]

Apply complete! Resources: 2 added, 1 changed, 2 destroyed.

8. project: keycloak dir: tofu/keycloak workspace: default

Show Output
Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.10s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destroying... [id=1065ebb3-f3a2-4913-9ec5-065307cbe9dd]
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5]
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destroying... [id=scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destroying... [id=d33c399d-0912-4ba3-8df7-b56f38c85358]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destroying... [id=25b8f214-4a90-4cb8-8b82-34312b632b19]
keycloak_group.project_lnf_lost-and-found: Creating...
keycloak_openid_client.lost_and_found: Creating...
keycloak_openid_client.lost_and_found_dev: Creating...
keycloak_openid_client.lost_and_found_staging: Creating...
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destruction complete after 0s
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destruction complete after 0s
keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL]
keycloak_group.project_lnf_lost-and-found: Creation complete after 0s [id=f8579235-26aa-4e0b-a80e-a490aa5bba75]
vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP]
keycloak_openid_client.lost_and_found_dev: Creation complete after 0s [id=d034b754-e940-43c4-b8e7-66162f048eaa]
keycloak_openid_client.lost_and_found_staging: Creation complete after 0s [id=fc804596-276b-4480-b156-5e0799043d7b]
keycloak_openid_client.lost_and_found: Creation complete after 0s [id=4da488e4-230e-491b-b597-48b9be2295f3]
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET]
vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_staging_project_group: Creating...
vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_prod_project_group: Creating...
vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_staging_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP]
vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_preview_project_group: Creating...
vault_kv_secret_v2.lost_and_found_dev_project_group: Creating...
vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_prod_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_dev_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_URL]
vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creating...
vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_GROUP]
vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creating...
keycloak_openid_client.lost_and_found_v2_dev: Destroying... [id=9b750a5a-dd99-41f7-be75-64b5e9c9bc44]
vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creating...
vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP]
keycloak_openid_client.lost_and_found_v2_staging: Destroying... [id=0bb6c816-5065-4929-a41b-a5195812c02f]
vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_URL]
keycloak_group.project_lnf_lost-and-found_admins: Creating...
vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP]
keycloak_group_memberships.project_lnf_lost-and-found: Creating...
keycloak_openid_client.lost_and_found_v2_dev: Destruction complete after 0s
keycloak_openid_client.lost_and_found_v2_staging: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creating...
vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creating...
vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creating...
vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/preview/OAUTH_RELAY_URL]
vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_REALM]
vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creating...
vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creating...
vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creating...
keycloak_group.project_lnf_lost-and-found_admins: Creation complete after 1s [id=e883939b-e89b-47a0-84c6-df663192022c]
vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creating...
vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creating...
vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creating...
keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creation complete after 0s [id=9c4ece4c-7ea6-40eb-806a-ac0badf15f1a]
keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creating...
vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_ID]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creating...
vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET]
keycloak_openid_client.lost_and_found_v2: Destroying... [id=f0d092f8-08a4-49ca-a9ff-b780d99a6111]
vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET]
keycloak_group_memberships.project_lnf_lost-and-found_admins: Creating...
vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_ID]
keycloak_openid_client.lost_and_found_v2: Destruction complete after 0s
vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET]
keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creation complete after 0s [id=52028130-44ae-47a1-b966-c7f45c0634a5]
keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creation complete after 0s [id=58b42c77-a8e2-4691-864f-deb833c608f7]
vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_ID]
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destruction complete after 1s
keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 1s
keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=3dc57745-0423-4f6e-960c-55dc400840f5]
keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 0s
keycloak_group.project_lost-and-found_lost-and-found-v2: Destroying... [id=0c65f9dc-90a5-4045-91ab-a93df8b28077]
keycloak_group.project_lost-and-found_lost-and-found-v2: Destruction complete after 1s
keycloak_group_memberships.project_lnf_lost-and-found: Creation complete after 2s [id=scottylabs/group-memberships/f8579235-26aa-4e0b-a80e-a490aa5bba75]
keycloak_group_memberships.project_lnf_lost-and-found_admins: Creation complete after 1s [id=scottylabs/group-memberships/e883939b-e89b-47a0-84c6-df663192022c]

Apply complete! Resources: 38 added, 0 changed, 38 destroyed.

9. project: git dir: tofu/git workspace: default

Show Output
Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `release` profile [optimized] target(s) in 0.28s

╷
│ Warning: Provider development overrides are in effect
│ 
│ The following provider development overrides are set in the CLI
│ configuration:
│  - svalabs/forgejo in /tmp/forgejo-provider
│ 
│ The behavior may therefore not match any released version of the provider
│ and applying changes may cause the state to become incompatible with
│ published releases.
╵
github_repository.lnf_lost_and_found: Creating...
forgejo_team_member.lost-and-found_anish: Destroying...
forgejo_team.lnf: Creating...
forgejo_team.lost-and-found_leads: Creating...
forgejo_team_member.lost-and-found_anish: Destruction complete after 0s
forgejo_team.lost-and-found: Destroying... [name=lost-and-found]
forgejo_repository.lnf_lost_and_found: Modifying... [name=lost-and-found]
forgejo_team.lost-and-found: Destruction complete after 0s
forgejo_team.lnf: Creation complete after 0s [name=lnf]
forgejo_team_member.lnf_anish: Creating...
forgejo_team_member.lnf_anish: Creation complete after 0s
forgejo_team.lost-and-found_leads: Creation complete after 0s [name=lost-and-found-leads]
forgejo_team_member.lost-and-found_leads_anish: Creating...
forgejo_team_member.lost-and-found_leads_anish: Creation complete after 0s
forgejo_repository.lnf_lost_and_found: Modifications complete after 0s [name=lost-and-found]
forgejo_team_repository.lnf_lost_and_found: Creating...
restapi_object.lnf_lost_and_found_kennel_webhook: Creating...
restapi_object.lnf_lost_and_found_push_mirror: Creating...
forgejo_team_repository.lnf_lost_and_found: Creation complete after 0s
forgejo_team_repository.lost-and-found_leads_lost_and_found: Creating...
forgejo_team_repository.lost-and-found_leads_lost_and_found: Creation complete after 0s
restapi_object.lnf_lost_and_found_kennel_webhook: Creation complete after 0s [id=34]
restapi_object.lnf_lost_and_found_push_mirror: Creation complete after 0s [id=remote_mirror_Hd6adHzND-A]
github_repository.lnf_lost_and_found: Creation complete after 7s [id=lost-and-found]
github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key: Creating...
github_actions_repository_permissions.lnf_lost_and_found_actions: Creating...
github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key: Creation complete after 3s [id=lost-and-found:164076320]
github_repository_ruleset.lnf_lost_and_found_ruleset: Creating...
github_actions_repository_permissions.lnf_lost_and_found_actions: Creation complete after 3s [id=lost-and-found]
github_repository_ruleset.lnf_lost_and_found_ruleset: Creation complete after 0s [id=23821214]

Apply complete! Resources: 12 added, 1 changed, 2 destroyed.

Apply Summary

9 projects, 9 successful, 0 failed, 0 errored

Ran Apply for 9 projects: 1. project: `sentry` dir: `tofu/sentry` workspace: `default` 1. project: `openbao` dir: `tofu/openbao` workspace: `default` 1. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` 1. project: `posthog` dir: `tofu/posthog` workspace: `default` 1. project: `cdn` dir: `tofu/cdn` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` --- ### 1. project: `sentry` dir: `tofu/sentry` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.18s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ Apply complete! Resources: 0 added, 0 changed, 0 destroyed. ``` </details> --- ### 2. project: `openbao` dir: `tofu/openbao` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.23s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ Apply complete! Resources: 0 added, 0 changed, 0 destroyed. ``` </details> --- ### 3. project: `matrix_bridges` dir: `tofu/matrix_bridges` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.40s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ Apply complete! Resources: 0 added, 0 changed, 0 destroyed. ``` </details> --- ### 4. project: `posthog` dir: `tofu/posthog` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.49s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ Apply complete! Resources: 0 added, 0 changed, 0 destroyed. ``` </details> --- ### 5. project: `cdn` dir: `tofu/cdn` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.40s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ garage_bucket.cdn_cmu-courses_courses: Modifying... [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd] garage_bucket.cdn_uia_scottylabs_org: Modifying... [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629] garage_bucket.cdn_cmu-housing_housing: Modifying... [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8] garage_bucket.cdn_quest_quest: Modifying... [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46] garage_bucket.cdn_uia_scottylabs_org: Modifications complete after 0s [id=a0b94d4dab829fe60fdaaa6b8da20c473cfd7bd37faa2c67931ae158682e0629] garage_bucket.cdn_cmu-courses_courses: Modifications complete after 0s [id=ae979973d1e87e74b6ebfc2f6bf1be3849ec2cc31b2d6aef59cf0151653750cd] garage_bucket.cdn_cmu-housing_housing: Modifications complete after 0s [id=fd591af159cb8f63f760588cdb89afcc6635ef96a8e6873057fe7136c06af9c8] garage_bucket.cdn_quest_quest: Modifications complete after 0s [id=64aa4193139e15e14a432e2a5016d034a9a746bbf2b6ff056aaa55b3caf20a46] Apply complete! Resources: 0 added, 4 changed, 0 destroyed. ``` </details> --- ### 6. project: `slack` dir: `tofu/slack` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.49s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ null_resource.slack_lost-and-found_ch0_anish: Destroying... [id=606459997443073999] null_resource.slack_lnf_ch0_anish: Creating... null_resource.slack_lost-and-found_ch0_anish: Destruction complete after 1s null_resource.slack_lnf_ch0_anish: Provisioning with 'local-exec'... null_resource.slack_lnf_ch0_anish (local-exec): Executing: ["/bin/sh" "-c" "governance slack-invite --channel C01BAADS8U8 --user U07FPJKFB5E"] null_resource.slack_lnf_ch0_anish: Creation complete after 0s [id=1428149583536601906] Apply complete! Resources: 1 added, 0 changed, 1 destroyed. ``` </details> --- ### 7. project: `discord` dir: `tofu/discord` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.41s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ discord_channel_permission.lost-and-found_ch0: Destroying... [id=1526510267607945326:1551918989645582487:role] discord_role.lnf: Creating... discord_channel_permission.lost-and-found_ch0: Destruction complete after 1s discord_role.lost-and-found: Destroying... [id=1551918989645582487] discord_role.lnf: Creation complete after 1s [id=1551927765769527427] discord_channel_permission.lnf_ch0: Creating... discord_role.lost-and-found: Destruction complete after 0s discord_member_roles.anish: Modifying... [id=1353118209024331948:315249559473225729] discord_channel_permission.lnf_ch0: Creation complete after 0s [id=1526510267607945326:1551927765769527427:role] discord_member_roles.anish: Modifications complete after 1s [id=1353118209024331948:315249559473225729] Apply complete! Resources: 2 added, 1 changed, 2 destroyed. ``` </details> --- ### 8. project: `keycloak` dir: `tofu/keycloak` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.10s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destroying... [id=1065ebb3-f3a2-4913-9ec5-065307cbe9dd] keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=scottylabs/group-memberships/3dc57745-0423-4f6e-960c-55dc400840f5] keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destroying... [id=scottylabs/group-memberships/0c65f9dc-90a5-4045-91ab-a93df8b28077] keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destroying... [id=d33c399d-0912-4ba3-8df7-b56f38c85358] keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destroying... [id=25b8f214-4a90-4cb8-8b82-34312b632b19] keycloak_group.project_lnf_lost-and-found: Creating... keycloak_openid_client.lost_and_found: Creating... keycloak_openid_client.lost_and_found_dev: Creating... keycloak_openid_client.lost_and_found_staging: Creating... vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_ID] keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_dev: Destruction complete after 0s keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2_staging: Destruction complete after 0s keycloak_openid_group_membership_protocol_mapper.lost_and_found_v2: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OAUTH_RELAY_URL] keycloak_group.project_lnf_lost-and-found: Creation complete after 0s [id=f8579235-26aa-4e0b-a80e-a490aa5bba75] vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_GROUP] keycloak_openid_client.lost_and_found_dev: Creation complete after 0s [id=d034b754-e940-43c4-b8e7-66162f048eaa] keycloak_openid_client.lost_and_found_staging: Creation complete after 0s [id=fc804596-276b-4480-b156-5e0799043d7b] keycloak_openid_client.lost_and_found: Creation complete after 0s [id=4da488e4-230e-491b-b597-48b9be2295f3] vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_staging_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_prod_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_prod_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_staging_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_v2_prod_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_v2_dev_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_staging_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_v2_dev_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_v2_preview_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/preview/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_v2_preview_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destroying... [id=secret/data/secretspec/lost-and-found-v2/prod/OIDC_CLIENT_SECRET] vault_kv_secret_v2.lost_and_found_v2_dev_project_admin_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destroying... [id=secret/data/secretspec/lost-and-found-v2/staging/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destroying... [id=secret/data/secretspec/lost-and-found-v2/dev/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_dev_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_preview_oidc_client_id: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_v2_preview_keycloak_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_keycloak_realm: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_staging_project_group: Creating... vault_kv_secret_v2.lost_and_found_v2_prod_oidc_client_secret: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_v2_staging_project_group: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_prod_project_group: Creating... vault_kv_secret_v2.lost_and_found_v2_dev_oauth_relay_url: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_staging_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_staging_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_staging_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_staging_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/PROJECT_ADMIN_GROUP] vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_staging_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_preview_project_group: Creating... vault_kv_secret_v2.lost_and_found_dev_project_group: Creating... vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_prod_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_prod_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creating... vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_preview_keycloak_realm: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_preview_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_dev_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_dev_oauth_relay_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_dev_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_URL] vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creating... vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creating... vault_kv_secret_v2.lost_and_found_preview_project_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_GROUP] vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creating... keycloak_openid_client.lost_and_found_v2_dev: Destroying... [id=9b750a5a-dd99-41f7-be75-64b5e9c9bc44] vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creating... vault_kv_secret_v2.lost_and_found_preview_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/PROJECT_ADMIN_GROUP] keycloak_openid_client.lost_and_found_v2_staging: Destroying... [id=0bb6c816-5065-4929-a41b-a5195812c02f] vault_kv_secret_v2.lost_and_found_prod_keycloak_url: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_URL] keycloak_group.project_lnf_lost-and-found_admins: Creating... vault_kv_secret_v2.lost_and_found_prod_project_admin_group: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/PROJECT_ADMIN_GROUP] keycloak_group_memberships.project_lnf_lost-and-found: Creating... keycloak_openid_client.lost_and_found_v2_dev: Destruction complete after 0s keycloak_openid_client.lost_and_found_v2_staging: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creating... vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creating... vault_kv_secret_v2.lost_and_found_prod_keycloak_realm: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/prod/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_dev_project_admin_group: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/PROJECT_ADMIN_GROUP] keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creating... vault_kv_secret_v2.lost_and_found_preview_oauth_relay_url: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/preview/OAUTH_RELAY_URL] vault_kv_secret_v2.lost_and_found_dev_keycloak_realm: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/KEYCLOAK_REALM] vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creating... vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creating... vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creating... keycloak_group.project_lnf_lost-and-found_admins: Creation complete after 1s [id=e883939b-e89b-47a0-84c6-df663192022c] vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creating... vault_kv_secret_v2.lost_and_found_dev_oidc_client_secret: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_SECRET] keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creating... vault_kv_secret_v2.lost_and_found_dev_oidc_client_id: Creation complete after 1s [id=secret/data/secretspec/lost-and-found/dev/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creating... keycloak_openid_group_membership_protocol_mapper.lost_and_found_dev: Creation complete after 0s [id=9c4ece4c-7ea6-40eb-806a-ac0badf15f1a] keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creating... vault_kv_secret_v2.lost_and_found_preview_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_ID] vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creating... vault_kv_secret_v2.lost_and_found_staging_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_SECRET] keycloak_openid_client.lost_and_found_v2: Destroying... [id=f0d092f8-08a4-49ca-a9ff-b780d99a6111] vault_kv_secret_v2.lost_and_found_preview_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/preview/OIDC_CLIENT_SECRET] keycloak_group_memberships.project_lnf_lost-and-found_admins: Creating... vault_kv_secret_v2.lost_and_found_staging_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/staging/OIDC_CLIENT_ID] keycloak_openid_client.lost_and_found_v2: Destruction complete after 0s vault_kv_secret_v2.lost_and_found_prod_oidc_client_secret: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_SECRET] keycloak_openid_group_membership_protocol_mapper.lost_and_found_staging: Creation complete after 0s [id=52028130-44ae-47a1-b966-c7f45c0634a5] keycloak_openid_group_membership_protocol_mapper.lost_and_found: Creation complete after 0s [id=58b42c77-a8e2-4691-864f-deb833c608f7] vault_kv_secret_v2.lost_and_found_prod_oidc_client_id: Creation complete after 0s [id=secret/data/secretspec/lost-and-found/prod/OIDC_CLIENT_ID] keycloak_group_memberships.project_lost-and-found_lost-and-found-v2: Destruction complete after 1s keycloak_group_memberships.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 1s keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destroying... [id=3dc57745-0423-4f6e-960c-55dc400840f5] keycloak_group.project_lost-and-found_lost-and-found-v2_admins: Destruction complete after 0s keycloak_group.project_lost-and-found_lost-and-found-v2: Destroying... [id=0c65f9dc-90a5-4045-91ab-a93df8b28077] keycloak_group.project_lost-and-found_lost-and-found-v2: Destruction complete after 1s keycloak_group_memberships.project_lnf_lost-and-found: Creation complete after 2s [id=scottylabs/group-memberships/f8579235-26aa-4e0b-a80e-a490aa5bba75] keycloak_group_memberships.project_lnf_lost-and-found_admins: Creation complete after 1s [id=scottylabs/group-memberships/e883939b-e89b-47a0-84c6-df663192022c] Apply complete! Resources: 38 added, 0 changed, 38 destroyed. ``` </details> --- ### 9. project: `git` dir: `tofu/git` workspace: `default` <details><summary>Show Output</summary> ```diff Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished `release` profile [optimized] target(s) in 0.28s ╷ │ Warning: Provider development overrides are in effect │ │ The following provider development overrides are set in the CLI │ configuration: │ - svalabs/forgejo in /tmp/forgejo-provider │ │ The behavior may therefore not match any released version of the provider │ and applying changes may cause the state to become incompatible with │ published releases. ╵ github_repository.lnf_lost_and_found: Creating... forgejo_team_member.lost-and-found_anish: Destroying... forgejo_team.lnf: Creating... forgejo_team.lost-and-found_leads: Creating... forgejo_team_member.lost-and-found_anish: Destruction complete after 0s forgejo_team.lost-and-found: Destroying... [name=lost-and-found] forgejo_repository.lnf_lost_and_found: Modifying... [name=lost-and-found] forgejo_team.lost-and-found: Destruction complete after 0s forgejo_team.lnf: Creation complete after 0s [name=lnf] forgejo_team_member.lnf_anish: Creating... forgejo_team_member.lnf_anish: Creation complete after 0s forgejo_team.lost-and-found_leads: Creation complete after 0s [name=lost-and-found-leads] forgejo_team_member.lost-and-found_leads_anish: Creating... forgejo_team_member.lost-and-found_leads_anish: Creation complete after 0s forgejo_repository.lnf_lost_and_found: Modifications complete after 0s [name=lost-and-found] forgejo_team_repository.lnf_lost_and_found: Creating... restapi_object.lnf_lost_and_found_kennel_webhook: Creating... restapi_object.lnf_lost_and_found_push_mirror: Creating... forgejo_team_repository.lnf_lost_and_found: Creation complete after 0s forgejo_team_repository.lost-and-found_leads_lost_and_found: Creating... forgejo_team_repository.lost-and-found_leads_lost_and_found: Creation complete after 0s restapi_object.lnf_lost_and_found_kennel_webhook: Creation complete after 0s [id=34] restapi_object.lnf_lost_and_found_push_mirror: Creation complete after 0s [id=remote_mirror_Hd6adHzND-A] github_repository.lnf_lost_and_found: Creation complete after 7s [id=lost-and-found] github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key: Creating... github_actions_repository_permissions.lnf_lost_and_found_actions: Creating... github_repository_deploy_key.lnf_lost_and_found_mirror_deploy_key: Creation complete after 3s [id=lost-and-found:164076320] github_repository_ruleset.lnf_lost_and_found_ruleset: Creating... github_actions_repository_permissions.lnf_lost_and_found_actions: Creation complete after 3s [id=lost-and-found] github_repository_ruleset.lnf_lost_and_found_ruleset: Creation complete after 0s [id=23821214] Apply complete! Resources: 12 added, 1 changed, 2 destroyed. ``` </details> --- ### Apply Summary 9 projects, 9 successful, 0 failed, 0 errored
anish merged commit b84c769c86 into main 2026-09-22 12:07:54 +00:00
anish deleted branch lost-and-found 2026-09-22 12:07:54 +00:00

Locks and plans deleted for the projects and workspaces modified in this pull request:

  • dir: tofu/cdn workspace: default
  • dir: tofu/discord workspace: default
  • dir: tofu/git workspace: default
  • dir: tofu/keycloak workspace: default
  • dir: tofu/matrix_bridges workspace: default
  • dir: tofu/openbao workspace: default
  • dir: tofu/posthog workspace: default
  • dir: tofu/sentry workspace: default
  • dir: tofu/slack workspace: default
Locks and plans deleted for the projects and workspaces modified in this pull request: - dir: `tofu/cdn` workspace: `default` - dir: `tofu/discord` workspace: `default` - dir: `tofu/git` workspace: `default` - dir: `tofu/keycloak` workspace: `default` - dir: `tofu/matrix_bridges` workspace: `default` - dir: `tofu/openbao` workspace: `default` - dir: `tofu/posthog` workspace: `default` - dir: `tofu/sentry` workspace: `default` - dir: `tofu/slack` workspace: `default`
Sign in to join this conversation.
No description provided.