feat: add cmu-cal team members #416

Merged
jalenluorion merged 4 commits from jalenluorion/governance:feat/cmu-cal-members into main 2026-09-29 00:07:48 +00:00
Member

Adds gsouto, naemii, oscarz, and urc as CMU Cal members. The rest of the team follows in a separate PR once their Keycloak accounts are linked.

Generated with Claude Code

Adds gsouto, naemii, oscarz, and urc as CMU Cal members. The rest of the team follows in a separate PR once their Keycloak accounts are linked. Generated with [Claude Code](https://claude.com/claude-code)
feat: add cmu-cal team members
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
19deb5f512
Add the ten CMUCal members who posted their git.cmu.dev usernames
in the team Slack channel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: add azc to cmu-cal team members
Some checks failed
CI / build (pull_request) Has been skipped
kennel/build skipped: no services or static sites defined
Validate / Governance (pull_request_target) Failing after 2m41s
CI / check-1 (pull_request) Successful in 4m11s
CI / check (pull_request) Successful in 0s
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/plan 0/0 projects planned successfully.
atlantis/apply 0/0 projects applied successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
630da25f46
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner

atlantis plan

atlantis plan
Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": 
Download attempt 1 failed, retrying...
Download attempt 2 failed, retrying...
Download attempt 3 failed, retrying...
Failed to download forgejo provider after 3 attempts

``` Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": Download attempt 1 failed, retrying... Download attempt 2 failed, retrying... Download attempt 3 failed, retrying... Failed to download forgejo provider after 3 attempts ```
Owner

atlantis plan

atlantis plan
Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": 
Download attempt 1 failed, retrying...
Download attempt 2 failed, retrying...
Download attempt 3 failed, retrying...
Failed to download forgejo provider after 3 attempts

``` Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": Download attempt 1 failed, retrying... Download attempt 2 failed, retrying... Download attempt 3 failed, retrying... Failed to download forgejo provider after 3 attempts ```
Owner

atlantis plan

atlantis plan
Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": 
Download attempt 1 failed, retrying...
Download attempt 2 failed, retrying...
Download attempt 3 failed, retrying...
Failed to download forgejo provider after 3 attempts

``` Error: Pre-workflow hook failed: exit status 1: running "sh -c bash .forgejo/scripts/install-forgejo-provider.sh" in "/var/lib/atlantis/repos/ScottyLabs/governance/416/default": Download attempt 1 failed, retrying... Download attempt 2 failed, retrying... Download attempt 3 failed, retrying... Failed to download forgejo provider after 3 attempts ```
Owner

atlantis plan

atlantis plan

Ran Plan for 0 projects:

Ran Plan for 0 projects:
Owner

@jalenluorion

error: user azc not found in keycloak (no linked forgejo account)
error: user rgurnane not found in keycloak (no linked forgejo account)
error: user mlisien not found in keycloak (no linked forgejo account)
error: user kingstol not found in keycloak (no linked forgejo account)
error: user tveshab not found in keycloak (no linked forgejo account)
error: user smookher has not linked their slack account in keycloak
@jalenluorion ```error: user apurwar not found in keycloak (no linked forgejo account) error: user azc not found in keycloak (no linked forgejo account) error: user rgurnane not found in keycloak (no linked forgejo account) error: user mlisien not found in keycloak (no linked forgejo account) error: user kingstol not found in keycloak (no linked forgejo account) error: user tveshab not found in keycloak (no linked forgejo account) error: user smookher has not linked their slack account in keycloak
chore: drop cmu-cal members not yet linked in keycloak
All checks were successful
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) Successful in 9m10s
CI / check-1 (pull_request) Successful in 7m1s
CI / check (pull_request) Successful in 0s
313ff581c5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chore: regenerate tofu, schemas, CODEOWNERS [skip ci]
All checks were successful
kennel/build skipped: no services or static sites defined
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/plan: slack Plan: 8 to add, 0 to change, 20 to destroy.
atlantis/plan: keycloak Plan: 0 to add, 18 to change, 0 to destroy.
atlantis/plan: google_groups Plan: 4 to add, 0 to change, 10 to destroy.
atlantis/plan: git Plan: 4 to add, 0 to change, 11 to destroy.
atlantis/plan: discord Plan: 4 to add, 1 to change, 10 to destroy.
atlantis/plan 5/5 projects planned successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
dd2b790b52

Ran Plan for 5 projects:

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

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

Plan Failed: This project is currently locked by an unapplied plan from pull #434. To continue, delete the lock from #434 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 #434. To continue, delete the lock from #434 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 #434. To continue, delete the lock from #434 or apply that plan and merge the pull request.

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


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

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

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


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

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

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


Plan Summary

5 projects, 0 with changes, 0 with no changes, 5 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 5 projects: 1. project: `google_groups` dir: `tofu/google_groups` workspace: `default` 1. project: `discord` dir: `tofu/discord` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` --- ### 1. project: `google_groups` dir: `tofu/google_groups` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #434. To continue, delete the lock from #434 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 #434. To continue, delete the lock from #434 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 #434. To continue, delete the lock from #434 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 4. project: `slack` dir: `tofu/slack` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #434. To continue, delete the lock from #434 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### 5. project: `keycloak` dir: `tofu/keycloak` workspace: `default` **Plan Failed**: This project is currently locked by an unapplied plan from pull #434. To continue, delete the lock from #434 or apply that plan and merge the pull request. Once the lock is released, comment `atlantis plan` here to re-plan. --- ### Plan Summary 5 projects, 0 with changes, 0 with no changes, 5 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
Member

atlantis plan

atlantis plan

Ran Plan for 5 projects:

  1. project: slack dir: tofu/slack workspace: default
  2. project: keycloak dir: tofu/keycloak workspace: default
  3. project: google_groups dir: tofu/google_groups workspace: default
  4. project: git dir: tofu/git workspace: default
  5. project: discord dir: tofu/discord 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.18s


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_cbp_ch0_samtran will be destroyed
  # (because null_resource.slack_cbp_ch0_samtran is not in configuration)
- resource "null_resource" "slack_cbp_ch0_samtran" {
-       id       = "611911465455544242" -> null
-       triggers = {
          - "channel" = "C08S56CJ8R2"
          - "user"    = "U0C4NEWJ1K8"
        } -> null
    }

  # null_resource.slack_cmu-cal_ch0_gsouto will be created
+ resource "null_resource" "slack_cmu-cal_ch0_gsouto" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0BAUTVDTPE"
        }
    }

  # null_resource.slack_cmu-cal_ch0_naemii will be created
+ resource "null_resource" "slack_cmu-cal_ch0_naemii" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C418LMFGQ"
        }
    }

  # null_resource.slack_cmu-cal_ch0_oscarz will be created
+ resource "null_resource" "slack_cmu-cal_ch0_oscarz" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C1LRW2WU9"
        }
    }

  # null_resource.slack_cmu-cal_ch0_urc will be created
+ resource "null_resource" "slack_cmu-cal_ch0_urc" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C138JPWP7"
        }
    }

  # null_resource.slack_cmu-study_ch0_armaanss will be destroyed
  # (because null_resource.slack_cmu-study_ch0_armaanss is not in configuration)
- resource "null_resource" "slack_cmu-study_ch0_armaanss" {
-       id       = "5410115035413047386" -> null
-       triggers = {
          - "channel" = "C09KN6M3P53"
          - "user"    = "U09EM73V9SN"
        } -> null
    }

  # null_resource.slack_cmu-study_ch0_bxiang will be destroyed
  # (because null_resource.slack_cmu-study_ch0_bxiang is not in configuration)
- resource "null_resource" "slack_cmu-study_ch0_bxiang" {
-       id       = "3662744159739909849" -> null
-       triggers = {
          - "channel" = "C09KN6M3P53"
          - "user"    = "U0BTFPB8W02"
        } -> null
    }

  # null_resource.slack_cmu-study_ch0_jdpeters will be destroyed
  # (because null_resource.slack_cmu-study_ch0_jdpeters is not in configuration)
- resource "null_resource" "slack_cmu-study_ch0_jdpeters" {
-       id       = "8112109653380131948" -> null
-       triggers = {
          - "channel" = "C09KN6M3P53"
          - "user"    = "U0C11RN7YG5"
        } -> null
    }

  # null_resource.slack_cmu-study_ch0_sudipi will be destroyed
  # (because null_resource.slack_cmu-study_ch0_sudipi is not in configuration)
- resource "null_resource" "slack_cmu-study_ch0_sudipi" {
-       id       = "3798388597006205060" -> null
-       triggers = {
          - "channel" = "C09KN6M3P53"
          - "user"    = "U0C1EFVUBPW"
        } -> null
    }

  # null_resource.slack_devops_ch0_brightz will be destroyed
  # (because null_resource.slack_devops_ch0_brightz is not in configuration)
- resource "null_resource" "slack_devops_ch0_brightz" {
-       id       = "1977460316515527708" -> null
-       triggers = {
          - "channel" = "C08K3Q77ZQF"
          - "user"    = "U09F3P78LT0"
        } -> null
    }

  # null_resource.slack_devops_ch0_junwonp will be destroyed
  # (because null_resource.slack_devops_ch0_junwonp is not in configuration)
- resource "null_resource" "slack_devops_ch0_junwonp" {
-       id       = "8978198533764068893" -> null
-       triggers = {
          - "channel" = "C08K3Q77ZQF"
          - "user"    = "U0C31L4SXAA"
        } -> null
    }

  # null_resource.slack_devops_ch1_brightz will be destroyed
  # (because null_resource.slack_devops_ch1_brightz is not in configuration)
- resource "null_resource" "slack_devops_ch1_brightz" {
-       id       = "4471079696359905776" -> null
-       triggers = {
          - "channel" = "C0BNV84NUTC"
          - "user"    = "U09F3P78LT0"
        } -> null
    }

  # null_resource.slack_devops_ch1_junwonp will be destroyed
  # (because null_resource.slack_devops_ch1_junwonp is not in configuration)
- resource "null_resource" "slack_devops_ch1_junwonp" {
-       id       = "9162332391230659035" -> null
-       triggers = {
          - "channel" = "C0BNV84NUTC"
          - "user"    = "U0C31L4SXAA"
        } -> null
    }

  # null_resource.slack_hub_armaanss will be destroyed
  # (because null_resource.slack_hub_armaanss is not in configuration)
- resource "null_resource" "slack_hub_armaanss" {
-       id       = "6203438846774494093" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U09EM73V9SN"
        } -> null
    }

  # null_resource.slack_hub_bxiang will be destroyed
  # (because null_resource.slack_hub_bxiang is not in configuration)
- resource "null_resource" "slack_hub_bxiang" {
-       id       = "8871746193193948906" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0BTFPB8W02"
        } -> null
    }

  # null_resource.slack_hub_gsouto will be created
+ resource "null_resource" "slack_hub_gsouto" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0BAUTVDTPE"
        }
    }

  # null_resource.slack_hub_jdpeters will be destroyed
  # (because null_resource.slack_hub_jdpeters is not in configuration)
- resource "null_resource" "slack_hub_jdpeters" {
-       id       = "7421827637212212985" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C11RN7YG5"
        } -> null
    }

  # null_resource.slack_hub_junwonp will be destroyed
  # (because null_resource.slack_hub_junwonp is not in configuration)
- resource "null_resource" "slack_hub_junwonp" {
-       id       = "7012973114601905831" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C31L4SXAA"
        } -> null
    }

  # null_resource.slack_hub_locho will be destroyed
  # (because null_resource.slack_hub_locho is not in configuration)
- resource "null_resource" "slack_hub_locho" {
-       id       = "4360225298301891996" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C12EHAGPP"
        } -> null
    }

  # null_resource.slack_hub_lwahi will be destroyed
  # (because null_resource.slack_hub_lwahi is not in configuration)
- resource "null_resource" "slack_hub_lwahi" {
-       id       = "982101409620673204" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C18F0GT7G"
        } -> null
    }

  # null_resource.slack_hub_naemii will be created
+ resource "null_resource" "slack_hub_naemii" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C418LMFGQ"
        }
    }

  # null_resource.slack_hub_oscarz will be created
+ resource "null_resource" "slack_hub_oscarz" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C1LRW2WU9"
        }
    }

  # null_resource.slack_hub_rk will be destroyed
  # (because null_resource.slack_hub_rk is not in configuration)
- resource "null_resource" "slack_hub_rk" {
-       id       = "3214673976367876438" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C4NKNCSQ6"
        } -> null
    }

  # null_resource.slack_hub_samtran will be destroyed
  # (because null_resource.slack_hub_samtran is not in configuration)
- resource "null_resource" "slack_hub_samtran" {
-       id       = "8386037311704805858" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C4NEWJ1K8"
        } -> null
    }

  # null_resource.slack_hub_sh will be destroyed
  # (because null_resource.slack_hub_sh is not in configuration)
- resource "null_resource" "slack_hub_sh" {
-       id       = "5730508936496426613" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C2YMZHQMT"
        } -> null
    }

  # null_resource.slack_hub_sudipi will be destroyed
  # (because null_resource.slack_hub_sudipi is not in configuration)
- resource "null_resource" "slack_hub_sudipi" {
-       id       = "8400163081741010150" -> null
-       triggers = {
          - "channel" = "C096TM8EMS8"
          - "user"    = "U0C1EFVUBPW"
        } -> null
    }

  # null_resource.slack_hub_urc will be created
+ resource "null_resource" "slack_hub_urc" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C138JPWP7"
        }
    }

  # null_resource.slack_slai_ch0_sh will be destroyed
  # (because null_resource.slack_slai_ch0_sh is not in configuration)
- resource "null_resource" "slack_slai_ch0_sh" {
-       id       = "1679120082027351170" -> null
-       triggers = {
          - "channel" = "C08SRUGUQ05"
          - "user"    = "U0C2YMZHQMT"
        } -> null
    }

Plan: 8 to add, 0 to change, 20 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: 8 to add, 0 to change, 20 to destroy.


2. 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.17s


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:

  # keycloak_group_memberships.project_cbp_bus-sign will be updated in-place
! resource "keycloak_group_memberships" "project_cbp_bus-sign" {
        id       = "scottylabs/group-memberships/7dd87f8f-e735-4316-af11-560d6ef9292b"
!       members  = [
-           "samtran",
            # (19 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cbp_dalmatian will be updated in-place
! resource "keycloak_group_memberships" "project_cbp_dalmatian" {
        id       = "scottylabs/group-memberships/324ba2c4-7538-4050-98d8-9ffb07bb1153"
!       members  = [
-           "samtran",
            # (19 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cbp_discord-verify will be updated in-place
! resource "keycloak_group_memberships" "project_cbp_discord-verify" {
        id       = "scottylabs/group-memberships/295be9ba-bd62-4f8c-81a0-ee49278f3745"
!       members  = [
-           "samtran",
            # (19 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cbp_groupme-mirror will be updated in-place
! resource "keycloak_group_memberships" "project_cbp_groupme-mirror" {
        id       = "scottylabs/group-memberships/e99499c1-c5e2-4121-a207-ea138dce2e39"
!       members  = [
-           "samtran",
            # (19 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cmu-cal_cal will be updated in-place
! resource "keycloak_group_memberships" "project_cmu-cal_cal" {
        id       = "scottylabs/group-memberships/3800a836-0a57-40b7-839f-650a335bfccc"
!       members  = [
+           "gsouto",
+           "naemii",
+           "oscarz",
+           "urc",
            # (2 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cmu-housing_housing will be updated in-place
! resource "keycloak_group_memberships" "project_cmu-housing_housing" {
        id       = "scottylabs/group-memberships/a13c9974-065d-4dbc-b473-b238f545618d"
!       members  = [
-           "lxh",
            # (14 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_cmu-study_study will be updated in-place
! resource "keycloak_group_memberships" "project_cmu-study_study" {
        id       = "scottylabs/group-memberships/f1b424fe-27f7-40ef-831f-9885f66bac3a"
!       members  = [
-           "armaanss",
-           "bxiang",
-           "jdpeters",
-           "sudipi",
            # (8 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_devops will be updated in-place
! resource "keycloak_group_memberships" "project_devops" {
        id       = "scottylabs/group-memberships/25f7b55f-5ad9-497f-9f38-62f9113a5fb7"
!       members  = [
-           "brightz",
-           "junwonp",
            # (9 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_devops_changelog will be updated in-place
! resource "keycloak_group_memberships" "project_devops_changelog" {
        id       = "scottylabs/group-memberships/a854d323-1d2d-4eaa-a249-1da2827b0d77"
!       members  = [
-           "brightz",
-           "junwonp",
            # (9 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_devops_documentation will be updated in-place
! resource "keycloak_group_memberships" "project_devops_documentation" {
        id       = "scottylabs/group-memberships/3c072d0d-78f5-40d2-9b28-06eb1563eb2f"
!       members  = [
-           "brightz",
-           "junwonp",
            # (9 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_devops_link-shortener will be updated in-place
! resource "keycloak_group_memberships" "project_devops_link-shortener" {
        id       = "scottylabs/group-memberships/3cc5ba5b-6117-4cf3-8fb9-891c3d31d935"
!       members  = [
-           "brightz",
-           "junwonp",
            # (9 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_slai_cmugpt-agent will be updated in-place
! resource "keycloak_group_memberships" "project_slai_cmugpt-agent" {
        id       = "scottylabs/group-memberships/9aad8c08-a972-439d-b29d-f3a7f5181423"
!       members  = [
-           "sarahhuo",
            # (11 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_slai_cmugpt-mcp-server will be updated in-place
! resource "keycloak_group_memberships" "project_slai_cmugpt-mcp-server" {
        id       = "scottylabs/group-memberships/d833990f-eabb-4bfc-942f-4f7a7c48d0f8"
!       members  = [
-           "sarahhuo",
            # (11 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_slai_cmugpt-sms-surface will be updated in-place
! resource "keycloak_group_memberships" "project_slai_cmugpt-sms-surface" {
        id       = "scottylabs/group-memberships/45c6df66-57c5-427f-8748-865054d41f43"
!       members  = [
-           "sarahhuo",
            # (11 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_slai_cmugpt-surface will be updated in-place
! resource "keycloak_group_memberships" "project_slai_cmugpt-surface" {
        id       = "scottylabs/group-memberships/49b7dd85-aa5c-48bd-93c1-3fe377683775"
!       members  = [
-           "sarahhuo",
            # (11 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_slai_slai-rfcs will be updated in-place
! resource "keycloak_group_memberships" "project_slai_slai-rfcs" {
        id       = "scottylabs/group-memberships/f142f88f-bae2-4480-a343-f170cccbb497"
!       members  = [
-           "sarahhuo",
            # (11 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.project_tartan-vote will be updated in-place
! resource "keycloak_group_memberships" "project_tartan-vote" {
        id       = "scottylabs/group-memberships/c32fb4e6-6198-4962-b0e5-a497a23dad8c"
!       members  = [
-           "lwahi",
-           "rishikul",
            # (10 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.projects will be updated in-place
! resource "keycloak_group_memberships" "projects" {
        id       = "scottylabs/group-memberships/9e6890c8-50a0-4b82-86b9-91791fffac25"
!       members  = [
-           "armaanss",
-           "bxiang",
-           "jdpeters",
-           "junwonp",
-           "lwahi",
-           "lxh",
-           "rishikul",
-           "samtran",
-           "sarahhuo",
-           "sudipi",
+           "gsouto",
+           "naemii",
+           "oscarz",
+           "urc",
            # (93 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

Plan: 0 to add, 18 to change, 0 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: 0 to add, 18 to change, 0 to destroy.


3. project: google_groups dir: tofu/google_groups 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.20s


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:

  # google_cloud_identity_group_membership.tech_armaanss will be destroyed
  # (because google_cloud_identity_group_membership.tech_armaanss is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_armaanss" {
-       create_time = "2026-09-28T15:46:48.655760Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/115946035627561359960" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/115946035627561359960" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T15:46:48.655760Z" -> null

-       preferred_member_key {
-           id = "armaanss@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_bxiang will be destroyed
  # (because google_cloud_identity_group_membership.tech_bxiang is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_bxiang" {
-       create_time = "2026-09-28T15:46:48.654567Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/114564658235872908231" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/114564658235872908231" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T15:46:48.654567Z" -> null

-       preferred_member_key {
-           id = "bxiang@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_gsouto will be created
+ resource "google_cloud_identity_group_membership" "tech_gsouto" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "gsouto@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_jdpeters will be destroyed
  # (because google_cloud_identity_group_membership.tech_jdpeters is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_jdpeters" {
-       create_time = "2026-09-28T15:46:48.549492Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/104195286105387762142" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/104195286105387762142" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T15:46:48.549492Z" -> null

-       preferred_member_key {
-           id = "jdpeters@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_junwonp will be destroyed
  # (because google_cloud_identity_group_membership.tech_junwonp is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_junwonp" {
-       create_time = "2026-09-26T20:51:48.130214Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/113786424116030298330" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/113786424116030298330" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-26T20:51:48.130214Z" -> null

-       preferred_member_key {
-           id = "junwonp@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_locho will be destroyed
  # (because google_cloud_identity_group_membership.tech_locho is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_locho" {
-       create_time = "2026-09-27T18:14:27.052016Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/111069990805475038275" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/111069990805475038275" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-27T18:14:27.052016Z" -> null

-       preferred_member_key {
-           id = "lxh@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_lwahi will be destroyed
  # (because google_cloud_identity_group_membership.tech_lwahi is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_lwahi" {
-       create_time = "2026-09-26T23:42:21.456782Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/112352542527683783999" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/112352542527683783999" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-26T23:42:21.456782Z" -> null

-       preferred_member_key {
-           id = "lwahi@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_naemii will be created
+ resource "google_cloud_identity_group_membership" "tech_naemii" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "naemii@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_oscarz will be created
+ resource "google_cloud_identity_group_membership" "tech_oscarz" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "oscarz@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_rk will be destroyed
  # (because google_cloud_identity_group_membership.tech_rk is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_rk" {
-       create_time = "2026-09-28T15:26:23.895278Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/114167495705343275160" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/114167495705343275160" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T15:26:23.895278Z" -> null

-       preferred_member_key {
-           id = "rishikul@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_samtran will be destroyed
  # (because google_cloud_identity_group_membership.tech_samtran is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_samtran" {
-       create_time = "2026-09-28T16:03:07.850173Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/102407175447990907001" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/102407175447990907001" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T16:03:07.850173Z" -> null

-       preferred_member_key {
-           id = "samtran@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_sh will be destroyed
  # (because google_cloud_identity_group_membership.tech_sh is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_sh" {
-       create_time = "2026-09-28T16:09:19.154623Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/105005935032613571292" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/105005935032613571292" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T16:09:19.154623Z" -> null

-       preferred_member_key {
-           id = "sarahhuo@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_sudipi will be destroyed
  # (because google_cloud_identity_group_membership.tech_sudipi is not in configuration)
- resource "google_cloud_identity_group_membership" "tech_sudipi" {
-       create_time = "2026-09-28T15:46:48.655669Z" -> null
-       group       = "groups/04anzqyu1bqbv79" -> null
-       id          = "groups/04anzqyu1bqbv79/memberships/114115271889660352744" -> null
-       name        = "groups/04anzqyu1bqbv79/memberships/114115271889660352744" -> null
-       type        = "USER" -> null
-       update_time = "2026-09-28T15:46:48.655669Z" -> null

-       preferred_member_key {
-           id = "sudipi@andrew.cmu.edu" -> null
        }

-       roles {
-           name = "MEMBER" -> null
        }
    }

  # google_cloud_identity_group_membership.tech_urc will be created
+ resource "google_cloud_identity_group_membership" "tech_urc" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "urc@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

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

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


4. 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.19s


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_team_member.cbp_samtran will be destroyed
  # (because forgejo_team_member.cbp_samtran is not in configuration)
- resource "forgejo_team_member" "cbp_samtran" {
-       team_id = 3 -> null
-       user    = "samtran" -> null
    }

  # forgejo_team_member.cmu-cal_gsouto will be created
+ resource "forgejo_team_member" "cmu-cal_gsouto" {
+       team_id = 11
+       user    = "gsouto"
    }

  # forgejo_team_member.cmu-cal_naemii will be created
+ resource "forgejo_team_member" "cmu-cal_naemii" {
+       team_id = 11
+       user    = "naemii"
    }

  # forgejo_team_member.cmu-cal_oscarz will be created
+ resource "forgejo_team_member" "cmu-cal_oscarz" {
+       team_id = 11
+       user    = "oscarz"
    }

  # forgejo_team_member.cmu-cal_urc will be created
+ resource "forgejo_team_member" "cmu-cal_urc" {
+       team_id = 11
+       user    = "urc"
    }

  # forgejo_team_member.cmu-housing_locho will be destroyed
  # (because forgejo_team_member.cmu-housing_locho is not in configuration)
- resource "forgejo_team_member" "cmu-housing_locho" {
-       team_id = 2 -> null
-       user    = "locho" -> null
    }

  # forgejo_team_member.cmu-study_armaanss will be destroyed
  # (because forgejo_team_member.cmu-study_armaanss is not in configuration)
- resource "forgejo_team_member" "cmu-study_armaanss" {
-       team_id = 43 -> null
-       user    = "armaanss" -> null
    }

  # forgejo_team_member.cmu-study_bxiang will be destroyed
  # (because forgejo_team_member.cmu-study_bxiang is not in configuration)
- resource "forgejo_team_member" "cmu-study_bxiang" {
-       team_id = 43 -> null
-       user    = "bxiang" -> null
    }

  # forgejo_team_member.cmu-study_jdpeters will be destroyed
  # (because forgejo_team_member.cmu-study_jdpeters is not in configuration)
- resource "forgejo_team_member" "cmu-study_jdpeters" {
-       team_id = 43 -> null
-       user    = "jdpeters" -> null
    }

  # forgejo_team_member.cmu-study_sudipi will be destroyed
  # (because forgejo_team_member.cmu-study_sudipi is not in configuration)
- resource "forgejo_team_member" "cmu-study_sudipi" {
-       team_id = 43 -> null
-       user    = "sudipi" -> null
    }

  # forgejo_team_member.devops_brightz will be destroyed
  # (because forgejo_team_member.devops_brightz is not in configuration)
- resource "forgejo_team_member" "devops_brightz" {
-       team_id = 4 -> null
-       user    = "brightz" -> null
    }

  # forgejo_team_member.devops_junwonp will be destroyed
  # (because forgejo_team_member.devops_junwonp is not in configuration)
- resource "forgejo_team_member" "devops_junwonp" {
-       team_id = 4 -> null
-       user    = "junwonp" -> null
    }

  # forgejo_team_member.slai_sh will be destroyed
  # (because forgejo_team_member.slai_sh is not in configuration)
- resource "forgejo_team_member" "slai_sh" {
-       team_id = 8 -> null
-       user    = "sh" -> null
    }

  # forgejo_team_member.tartan-vote_lwahi will be destroyed
  # (because forgejo_team_member.tartan-vote_lwahi is not in configuration)
- resource "forgejo_team_member" "tartan-vote_lwahi" {
-       team_id = 6 -> null
-       user    = "lwahi" -> null
    }

  # forgejo_team_member.tartan-vote_rk will be destroyed
  # (because forgejo_team_member.tartan-vote_rk is not in configuration)
- resource "forgejo_team_member" "tartan-vote_rk" {
-       team_id = 6 -> null
-       user    = "rishikul" -> null
    }

Plan: 4 to add, 0 to change, 11 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: 4 to add, 0 to change, 11 to destroy.


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 package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.19s


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_member_roles.armaanss will be destroyed
  # (because discord_member_roles.armaanss is not in configuration)
- resource "discord_member_roles" "armaanss" {
-       id        = "1353118209024331948:639282991192866826" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "639282991192866826" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1550659990266581074" -> null
        }
    }

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

-       role {
-           has_role = true -> null
-           role_id  = "1488787087598813215" -> null
        }

        # (2 unchanged blocks hidden)
    }

  # discord_member_roles.bxiang will be destroyed
  # (because discord_member_roles.bxiang is not in configuration)
- resource "discord_member_roles" "bxiang" {
-       id        = "1353118209024331948:1292663388538671209" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "1292663388538671209" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1550659990266581074" -> null
        }
    }

  # discord_member_roles.gsouto will be created
+ resource "discord_member_roles" "gsouto" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1251139998925983784"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.jdpeters will be destroyed
  # (because discord_member_roles.jdpeters is not in configuration)
- resource "discord_member_roles" "jdpeters" {
-       id        = "1353118209024331948:779012083609632830" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "779012083609632830" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1550659990266581074" -> null
        }
    }

  # discord_member_roles.junwonp will be destroyed
  # (because discord_member_roles.junwonp is not in configuration)
- resource "discord_member_roles" "junwonp" {
-       id        = "1353118209024331948:662802573467844629" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "662802573467844629" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787087598813215" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
    }

  # discord_member_roles.locho will be destroyed
  # (because discord_member_roles.locho is not in configuration)
- resource "discord_member_roles" "locho" {
-       id        = "1353118209024331948:582666638550368277" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "582666638550368277" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1513653499957874871" -> null
        }
    }

  # discord_member_roles.lwahi will be destroyed
  # (because discord_member_roles.lwahi is not in configuration)
- resource "discord_member_roles" "lwahi" {
-       id        = "1353118209024331948:738509196487688262" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "738509196487688262" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1508601984255524885" -> null
        }
    }

  # discord_member_roles.naemii will be created
+ resource "discord_member_roles" "naemii" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "883898088610218004"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.oscarz will be created
+ resource "discord_member_roles" "oscarz" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1540852187591217242"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.rk will be destroyed
  # (because discord_member_roles.rk is not in configuration)
- resource "discord_member_roles" "rk" {
-       id        = "1353118209024331948:968243459389542430" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "968243459389542430" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1508601984255524885" -> null
        }
    }

  # discord_member_roles.samtran will be destroyed
  # (because discord_member_roles.samtran is not in configuration)
- resource "discord_member_roles" "samtran" {
-       id        = "1353118209024331948:714965582583169088" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "714965582583169088" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1494773174334783499" -> null
        }
    }

  # discord_member_roles.sh will be destroyed
  # (because discord_member_roles.sh is not in configuration)
- resource "discord_member_roles" "sh" {
-       id        = "1353118209024331948:1262421284143366166" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "1262421284143366166" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1505078357321191535" -> null
        }
    }

  # discord_member_roles.sudipi will be destroyed
  # (because discord_member_roles.sudipi is not in configuration)
- resource "discord_member_roles" "sudipi" {
-       id        = "1353118209024331948:735941345117470870" -> null
-       server_id = "1353118209024331948" -> null
-       user_id   = "735941345117470870" -> null

-       role {
-           has_role = true -> null
-           role_id  = "1488787088118644848" -> null
        }
-       role {
-           has_role = true -> null
-           role_id  = "1550659990266581074" -> null
        }
    }

  # discord_member_roles.urc will be created
+ resource "discord_member_roles" "urc" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1257093033145536584"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

Plan: 4 to add, 1 to change, 10 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: 4 to add, 1 to change, 10 to destroy.


Plan Summary

5 projects, 5 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 5 projects: 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `google_groups` dir: `tofu/google_groups` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `discord` dir: `tofu/discord` 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.18s 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_cbp_ch0_samtran will be destroyed # (because null_resource.slack_cbp_ch0_samtran is not in configuration) - resource "null_resource" "slack_cbp_ch0_samtran" { - id = "611911465455544242" -> null - triggers = { - "channel" = "C08S56CJ8R2" - "user" = "U0C4NEWJ1K8" } -> null } # null_resource.slack_cmu-cal_ch0_gsouto will be created + resource "null_resource" "slack_cmu-cal_ch0_gsouto" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0BAUTVDTPE" } } # null_resource.slack_cmu-cal_ch0_naemii will be created + resource "null_resource" "slack_cmu-cal_ch0_naemii" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C418LMFGQ" } } # null_resource.slack_cmu-cal_ch0_oscarz will be created + resource "null_resource" "slack_cmu-cal_ch0_oscarz" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C1LRW2WU9" } } # null_resource.slack_cmu-cal_ch0_urc will be created + resource "null_resource" "slack_cmu-cal_ch0_urc" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C138JPWP7" } } # null_resource.slack_cmu-study_ch0_armaanss will be destroyed # (because null_resource.slack_cmu-study_ch0_armaanss is not in configuration) - resource "null_resource" "slack_cmu-study_ch0_armaanss" { - id = "5410115035413047386" -> null - triggers = { - "channel" = "C09KN6M3P53" - "user" = "U09EM73V9SN" } -> null } # null_resource.slack_cmu-study_ch0_bxiang will be destroyed # (because null_resource.slack_cmu-study_ch0_bxiang is not in configuration) - resource "null_resource" "slack_cmu-study_ch0_bxiang" { - id = "3662744159739909849" -> null - triggers = { - "channel" = "C09KN6M3P53" - "user" = "U0BTFPB8W02" } -> null } # null_resource.slack_cmu-study_ch0_jdpeters will be destroyed # (because null_resource.slack_cmu-study_ch0_jdpeters is not in configuration) - resource "null_resource" "slack_cmu-study_ch0_jdpeters" { - id = "8112109653380131948" -> null - triggers = { - "channel" = "C09KN6M3P53" - "user" = "U0C11RN7YG5" } -> null } # null_resource.slack_cmu-study_ch0_sudipi will be destroyed # (because null_resource.slack_cmu-study_ch0_sudipi is not in configuration) - resource "null_resource" "slack_cmu-study_ch0_sudipi" { - id = "3798388597006205060" -> null - triggers = { - "channel" = "C09KN6M3P53" - "user" = "U0C1EFVUBPW" } -> null } # null_resource.slack_devops_ch0_brightz will be destroyed # (because null_resource.slack_devops_ch0_brightz is not in configuration) - resource "null_resource" "slack_devops_ch0_brightz" { - id = "1977460316515527708" -> null - triggers = { - "channel" = "C08K3Q77ZQF" - "user" = "U09F3P78LT0" } -> null } # null_resource.slack_devops_ch0_junwonp will be destroyed # (because null_resource.slack_devops_ch0_junwonp is not in configuration) - resource "null_resource" "slack_devops_ch0_junwonp" { - id = "8978198533764068893" -> null - triggers = { - "channel" = "C08K3Q77ZQF" - "user" = "U0C31L4SXAA" } -> null } # null_resource.slack_devops_ch1_brightz will be destroyed # (because null_resource.slack_devops_ch1_brightz is not in configuration) - resource "null_resource" "slack_devops_ch1_brightz" { - id = "4471079696359905776" -> null - triggers = { - "channel" = "C0BNV84NUTC" - "user" = "U09F3P78LT0" } -> null } # null_resource.slack_devops_ch1_junwonp will be destroyed # (because null_resource.slack_devops_ch1_junwonp is not in configuration) - resource "null_resource" "slack_devops_ch1_junwonp" { - id = "9162332391230659035" -> null - triggers = { - "channel" = "C0BNV84NUTC" - "user" = "U0C31L4SXAA" } -> null } # null_resource.slack_hub_armaanss will be destroyed # (because null_resource.slack_hub_armaanss is not in configuration) - resource "null_resource" "slack_hub_armaanss" { - id = "6203438846774494093" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U09EM73V9SN" } -> null } # null_resource.slack_hub_bxiang will be destroyed # (because null_resource.slack_hub_bxiang is not in configuration) - resource "null_resource" "slack_hub_bxiang" { - id = "8871746193193948906" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0BTFPB8W02" } -> null } # null_resource.slack_hub_gsouto will be created + resource "null_resource" "slack_hub_gsouto" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0BAUTVDTPE" } } # null_resource.slack_hub_jdpeters will be destroyed # (because null_resource.slack_hub_jdpeters is not in configuration) - resource "null_resource" "slack_hub_jdpeters" { - id = "7421827637212212985" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C11RN7YG5" } -> null } # null_resource.slack_hub_junwonp will be destroyed # (because null_resource.slack_hub_junwonp is not in configuration) - resource "null_resource" "slack_hub_junwonp" { - id = "7012973114601905831" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C31L4SXAA" } -> null } # null_resource.slack_hub_locho will be destroyed # (because null_resource.slack_hub_locho is not in configuration) - resource "null_resource" "slack_hub_locho" { - id = "4360225298301891996" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C12EHAGPP" } -> null } # null_resource.slack_hub_lwahi will be destroyed # (because null_resource.slack_hub_lwahi is not in configuration) - resource "null_resource" "slack_hub_lwahi" { - id = "982101409620673204" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C18F0GT7G" } -> null } # null_resource.slack_hub_naemii will be created + resource "null_resource" "slack_hub_naemii" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C418LMFGQ" } } # null_resource.slack_hub_oscarz will be created + resource "null_resource" "slack_hub_oscarz" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C1LRW2WU9" } } # null_resource.slack_hub_rk will be destroyed # (because null_resource.slack_hub_rk is not in configuration) - resource "null_resource" "slack_hub_rk" { - id = "3214673976367876438" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C4NKNCSQ6" } -> null } # null_resource.slack_hub_samtran will be destroyed # (because null_resource.slack_hub_samtran is not in configuration) - resource "null_resource" "slack_hub_samtran" { - id = "8386037311704805858" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C4NEWJ1K8" } -> null } # null_resource.slack_hub_sh will be destroyed # (because null_resource.slack_hub_sh is not in configuration) - resource "null_resource" "slack_hub_sh" { - id = "5730508936496426613" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C2YMZHQMT" } -> null } # null_resource.slack_hub_sudipi will be destroyed # (because null_resource.slack_hub_sudipi is not in configuration) - resource "null_resource" "slack_hub_sudipi" { - id = "8400163081741010150" -> null - triggers = { - "channel" = "C096TM8EMS8" - "user" = "U0C1EFVUBPW" } -> null } # null_resource.slack_hub_urc will be created + resource "null_resource" "slack_hub_urc" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C138JPWP7" } } # null_resource.slack_slai_ch0_sh will be destroyed # (because null_resource.slack_slai_ch0_sh is not in configuration) - resource "null_resource" "slack_slai_ch0_sh" { - id = "1679120082027351170" -> null - triggers = { - "channel" = "C08SRUGUQ05" - "user" = "U0C2YMZHQMT" } -> null } Plan: 8 to add, 0 to change, 20 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: 8 to add, 0 to change, 20 to destroy. --- ### 2. 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.17s 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: # keycloak_group_memberships.project_cbp_bus-sign will be updated in-place ! resource "keycloak_group_memberships" "project_cbp_bus-sign" { id = "scottylabs/group-memberships/7dd87f8f-e735-4316-af11-560d6ef9292b" ! members = [ - "samtran", # (19 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cbp_dalmatian will be updated in-place ! resource "keycloak_group_memberships" "project_cbp_dalmatian" { id = "scottylabs/group-memberships/324ba2c4-7538-4050-98d8-9ffb07bb1153" ! members = [ - "samtran", # (19 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cbp_discord-verify will be updated in-place ! resource "keycloak_group_memberships" "project_cbp_discord-verify" { id = "scottylabs/group-memberships/295be9ba-bd62-4f8c-81a0-ee49278f3745" ! members = [ - "samtran", # (19 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cbp_groupme-mirror will be updated in-place ! resource "keycloak_group_memberships" "project_cbp_groupme-mirror" { id = "scottylabs/group-memberships/e99499c1-c5e2-4121-a207-ea138dce2e39" ! members = [ - "samtran", # (19 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cmu-cal_cal will be updated in-place ! resource "keycloak_group_memberships" "project_cmu-cal_cal" { id = "scottylabs/group-memberships/3800a836-0a57-40b7-839f-650a335bfccc" ! members = [ + "gsouto", + "naemii", + "oscarz", + "urc", # (2 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cmu-housing_housing will be updated in-place ! resource "keycloak_group_memberships" "project_cmu-housing_housing" { id = "scottylabs/group-memberships/a13c9974-065d-4dbc-b473-b238f545618d" ! members = [ - "lxh", # (14 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_cmu-study_study will be updated in-place ! resource "keycloak_group_memberships" "project_cmu-study_study" { id = "scottylabs/group-memberships/f1b424fe-27f7-40ef-831f-9885f66bac3a" ! members = [ - "armaanss", - "bxiang", - "jdpeters", - "sudipi", # (8 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_devops will be updated in-place ! resource "keycloak_group_memberships" "project_devops" { id = "scottylabs/group-memberships/25f7b55f-5ad9-497f-9f38-62f9113a5fb7" ! members = [ - "brightz", - "junwonp", # (9 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_devops_changelog will be updated in-place ! resource "keycloak_group_memberships" "project_devops_changelog" { id = "scottylabs/group-memberships/a854d323-1d2d-4eaa-a249-1da2827b0d77" ! members = [ - "brightz", - "junwonp", # (9 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_devops_documentation will be updated in-place ! resource "keycloak_group_memberships" "project_devops_documentation" { id = "scottylabs/group-memberships/3c072d0d-78f5-40d2-9b28-06eb1563eb2f" ! members = [ - "brightz", - "junwonp", # (9 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_devops_link-shortener will be updated in-place ! resource "keycloak_group_memberships" "project_devops_link-shortener" { id = "scottylabs/group-memberships/3cc5ba5b-6117-4cf3-8fb9-891c3d31d935" ! members = [ - "brightz", - "junwonp", # (9 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_slai_cmugpt-agent will be updated in-place ! resource "keycloak_group_memberships" "project_slai_cmugpt-agent" { id = "scottylabs/group-memberships/9aad8c08-a972-439d-b29d-f3a7f5181423" ! members = [ - "sarahhuo", # (11 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_slai_cmugpt-mcp-server will be updated in-place ! resource "keycloak_group_memberships" "project_slai_cmugpt-mcp-server" { id = "scottylabs/group-memberships/d833990f-eabb-4bfc-942f-4f7a7c48d0f8" ! members = [ - "sarahhuo", # (11 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_slai_cmugpt-sms-surface will be updated in-place ! resource "keycloak_group_memberships" "project_slai_cmugpt-sms-surface" { id = "scottylabs/group-memberships/45c6df66-57c5-427f-8748-865054d41f43" ! members = [ - "sarahhuo", # (11 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_slai_cmugpt-surface will be updated in-place ! resource "keycloak_group_memberships" "project_slai_cmugpt-surface" { id = "scottylabs/group-memberships/49b7dd85-aa5c-48bd-93c1-3fe377683775" ! members = [ - "sarahhuo", # (11 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_slai_slai-rfcs will be updated in-place ! resource "keycloak_group_memberships" "project_slai_slai-rfcs" { id = "scottylabs/group-memberships/f142f88f-bae2-4480-a343-f170cccbb497" ! members = [ - "sarahhuo", # (11 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.project_tartan-vote will be updated in-place ! resource "keycloak_group_memberships" "project_tartan-vote" { id = "scottylabs/group-memberships/c32fb4e6-6198-4962-b0e5-a497a23dad8c" ! members = [ - "lwahi", - "rishikul", # (10 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.projects will be updated in-place ! resource "keycloak_group_memberships" "projects" { id = "scottylabs/group-memberships/9e6890c8-50a0-4b82-86b9-91791fffac25" ! members = [ - "armaanss", - "bxiang", - "jdpeters", - "junwonp", - "lwahi", - "lxh", - "rishikul", - "samtran", - "sarahhuo", - "sudipi", + "gsouto", + "naemii", + "oscarz", + "urc", # (93 unchanged elements hidden) ] # (2 unchanged attributes hidden) } Plan: 0 to add, 18 to change, 0 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: 0 to add, 18 to change, 0 to destroy. --- ### 3. project: `google_groups` dir: `tofu/google_groups` 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.20s 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: # google_cloud_identity_group_membership.tech_armaanss will be destroyed # (because google_cloud_identity_group_membership.tech_armaanss is not in configuration) - resource "google_cloud_identity_group_membership" "tech_armaanss" { - create_time = "2026-09-28T15:46:48.655760Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/115946035627561359960" -> null - name = "groups/04anzqyu1bqbv79/memberships/115946035627561359960" -> null - type = "USER" -> null - update_time = "2026-09-28T15:46:48.655760Z" -> null - preferred_member_key { - id = "armaanss@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_bxiang will be destroyed # (because google_cloud_identity_group_membership.tech_bxiang is not in configuration) - resource "google_cloud_identity_group_membership" "tech_bxiang" { - create_time = "2026-09-28T15:46:48.654567Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/114564658235872908231" -> null - name = "groups/04anzqyu1bqbv79/memberships/114564658235872908231" -> null - type = "USER" -> null - update_time = "2026-09-28T15:46:48.654567Z" -> null - preferred_member_key { - id = "bxiang@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_gsouto will be created + resource "google_cloud_identity_group_membership" "tech_gsouto" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "gsouto@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_jdpeters will be destroyed # (because google_cloud_identity_group_membership.tech_jdpeters is not in configuration) - resource "google_cloud_identity_group_membership" "tech_jdpeters" { - create_time = "2026-09-28T15:46:48.549492Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/104195286105387762142" -> null - name = "groups/04anzqyu1bqbv79/memberships/104195286105387762142" -> null - type = "USER" -> null - update_time = "2026-09-28T15:46:48.549492Z" -> null - preferred_member_key { - id = "jdpeters@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_junwonp will be destroyed # (because google_cloud_identity_group_membership.tech_junwonp is not in configuration) - resource "google_cloud_identity_group_membership" "tech_junwonp" { - create_time = "2026-09-26T20:51:48.130214Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/113786424116030298330" -> null - name = "groups/04anzqyu1bqbv79/memberships/113786424116030298330" -> null - type = "USER" -> null - update_time = "2026-09-26T20:51:48.130214Z" -> null - preferred_member_key { - id = "junwonp@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_locho will be destroyed # (because google_cloud_identity_group_membership.tech_locho is not in configuration) - resource "google_cloud_identity_group_membership" "tech_locho" { - create_time = "2026-09-27T18:14:27.052016Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/111069990805475038275" -> null - name = "groups/04anzqyu1bqbv79/memberships/111069990805475038275" -> null - type = "USER" -> null - update_time = "2026-09-27T18:14:27.052016Z" -> null - preferred_member_key { - id = "lxh@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_lwahi will be destroyed # (because google_cloud_identity_group_membership.tech_lwahi is not in configuration) - resource "google_cloud_identity_group_membership" "tech_lwahi" { - create_time = "2026-09-26T23:42:21.456782Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/112352542527683783999" -> null - name = "groups/04anzqyu1bqbv79/memberships/112352542527683783999" -> null - type = "USER" -> null - update_time = "2026-09-26T23:42:21.456782Z" -> null - preferred_member_key { - id = "lwahi@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_naemii will be created + resource "google_cloud_identity_group_membership" "tech_naemii" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "naemii@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_oscarz will be created + resource "google_cloud_identity_group_membership" "tech_oscarz" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "oscarz@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_rk will be destroyed # (because google_cloud_identity_group_membership.tech_rk is not in configuration) - resource "google_cloud_identity_group_membership" "tech_rk" { - create_time = "2026-09-28T15:26:23.895278Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/114167495705343275160" -> null - name = "groups/04anzqyu1bqbv79/memberships/114167495705343275160" -> null - type = "USER" -> null - update_time = "2026-09-28T15:26:23.895278Z" -> null - preferred_member_key { - id = "rishikul@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_samtran will be destroyed # (because google_cloud_identity_group_membership.tech_samtran is not in configuration) - resource "google_cloud_identity_group_membership" "tech_samtran" { - create_time = "2026-09-28T16:03:07.850173Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/102407175447990907001" -> null - name = "groups/04anzqyu1bqbv79/memberships/102407175447990907001" -> null - type = "USER" -> null - update_time = "2026-09-28T16:03:07.850173Z" -> null - preferred_member_key { - id = "samtran@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_sh will be destroyed # (because google_cloud_identity_group_membership.tech_sh is not in configuration) - resource "google_cloud_identity_group_membership" "tech_sh" { - create_time = "2026-09-28T16:09:19.154623Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/105005935032613571292" -> null - name = "groups/04anzqyu1bqbv79/memberships/105005935032613571292" -> null - type = "USER" -> null - update_time = "2026-09-28T16:09:19.154623Z" -> null - preferred_member_key { - id = "sarahhuo@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_sudipi will be destroyed # (because google_cloud_identity_group_membership.tech_sudipi is not in configuration) - resource "google_cloud_identity_group_membership" "tech_sudipi" { - create_time = "2026-09-28T15:46:48.655669Z" -> null - group = "groups/04anzqyu1bqbv79" -> null - id = "groups/04anzqyu1bqbv79/memberships/114115271889660352744" -> null - name = "groups/04anzqyu1bqbv79/memberships/114115271889660352744" -> null - type = "USER" -> null - update_time = "2026-09-28T15:46:48.655669Z" -> null - preferred_member_key { - id = "sudipi@andrew.cmu.edu" -> null } - roles { - name = "MEMBER" -> null } } # google_cloud_identity_group_membership.tech_urc will be created + resource "google_cloud_identity_group_membership" "tech_urc" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "urc@andrew.cmu.edu" } + roles { + name = "MEMBER" } } Plan: 4 to add, 0 to change, 10 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p google_groups ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fgoogle_groups%252Fdefault%252Fgoogle_groups) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p google_groups ``` Plan: 4 to add, 0 to change, 10 to destroy. --- ### 4. 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.19s 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_team_member.cbp_samtran will be destroyed # (because forgejo_team_member.cbp_samtran is not in configuration) - resource "forgejo_team_member" "cbp_samtran" { - team_id = 3 -> null - user = "samtran" -> null } # forgejo_team_member.cmu-cal_gsouto will be created + resource "forgejo_team_member" "cmu-cal_gsouto" { + team_id = 11 + user = "gsouto" } # forgejo_team_member.cmu-cal_naemii will be created + resource "forgejo_team_member" "cmu-cal_naemii" { + team_id = 11 + user = "naemii" } # forgejo_team_member.cmu-cal_oscarz will be created + resource "forgejo_team_member" "cmu-cal_oscarz" { + team_id = 11 + user = "oscarz" } # forgejo_team_member.cmu-cal_urc will be created + resource "forgejo_team_member" "cmu-cal_urc" { + team_id = 11 + user = "urc" } # forgejo_team_member.cmu-housing_locho will be destroyed # (because forgejo_team_member.cmu-housing_locho is not in configuration) - resource "forgejo_team_member" "cmu-housing_locho" { - team_id = 2 -> null - user = "locho" -> null } # forgejo_team_member.cmu-study_armaanss will be destroyed # (because forgejo_team_member.cmu-study_armaanss is not in configuration) - resource "forgejo_team_member" "cmu-study_armaanss" { - team_id = 43 -> null - user = "armaanss" -> null } # forgejo_team_member.cmu-study_bxiang will be destroyed # (because forgejo_team_member.cmu-study_bxiang is not in configuration) - resource "forgejo_team_member" "cmu-study_bxiang" { - team_id = 43 -> null - user = "bxiang" -> null } # forgejo_team_member.cmu-study_jdpeters will be destroyed # (because forgejo_team_member.cmu-study_jdpeters is not in configuration) - resource "forgejo_team_member" "cmu-study_jdpeters" { - team_id = 43 -> null - user = "jdpeters" -> null } # forgejo_team_member.cmu-study_sudipi will be destroyed # (because forgejo_team_member.cmu-study_sudipi is not in configuration) - resource "forgejo_team_member" "cmu-study_sudipi" { - team_id = 43 -> null - user = "sudipi" -> null } # forgejo_team_member.devops_brightz will be destroyed # (because forgejo_team_member.devops_brightz is not in configuration) - resource "forgejo_team_member" "devops_brightz" { - team_id = 4 -> null - user = "brightz" -> null } # forgejo_team_member.devops_junwonp will be destroyed # (because forgejo_team_member.devops_junwonp is not in configuration) - resource "forgejo_team_member" "devops_junwonp" { - team_id = 4 -> null - user = "junwonp" -> null } # forgejo_team_member.slai_sh will be destroyed # (because forgejo_team_member.slai_sh is not in configuration) - resource "forgejo_team_member" "slai_sh" { - team_id = 8 -> null - user = "sh" -> null } # forgejo_team_member.tartan-vote_lwahi will be destroyed # (because forgejo_team_member.tartan-vote_lwahi is not in configuration) - resource "forgejo_team_member" "tartan-vote_lwahi" { - team_id = 6 -> null - user = "lwahi" -> null } # forgejo_team_member.tartan-vote_rk will be destroyed # (because forgejo_team_member.tartan-vote_rk is not in configuration) - resource "forgejo_team_member" "tartan-vote_rk" { - team_id = 6 -> null - user = "rishikul" -> null } Plan: 4 to add, 0 to change, 11 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: 4 to add, 0 to change, 11 to destroy. --- ### 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 package cache Blocking waiting for file lock on build directory Finished `release` profile [optimized] target(s) in 0.19s 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_member_roles.armaanss will be destroyed # (because discord_member_roles.armaanss is not in configuration) - resource "discord_member_roles" "armaanss" { - id = "1353118209024331948:639282991192866826" -> null - server_id = "1353118209024331948" -> null - user_id = "639282991192866826" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1550659990266581074" -> null } } # discord_member_roles.brightz will be updated in-place ! resource "discord_member_roles" "brightz" { id = "1353118209024331948:689114594794668076" # (2 unchanged attributes hidden) - role { - has_role = true -> null - role_id = "1488787087598813215" -> null } # (2 unchanged blocks hidden) } # discord_member_roles.bxiang will be destroyed # (because discord_member_roles.bxiang is not in configuration) - resource "discord_member_roles" "bxiang" { - id = "1353118209024331948:1292663388538671209" -> null - server_id = "1353118209024331948" -> null - user_id = "1292663388538671209" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1550659990266581074" -> null } } # discord_member_roles.gsouto will be created + resource "discord_member_roles" "gsouto" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1251139998925983784" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.jdpeters will be destroyed # (because discord_member_roles.jdpeters is not in configuration) - resource "discord_member_roles" "jdpeters" { - id = "1353118209024331948:779012083609632830" -> null - server_id = "1353118209024331948" -> null - user_id = "779012083609632830" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1550659990266581074" -> null } } # discord_member_roles.junwonp will be destroyed # (because discord_member_roles.junwonp is not in configuration) - resource "discord_member_roles" "junwonp" { - id = "1353118209024331948:662802573467844629" -> null - server_id = "1353118209024331948" -> null - user_id = "662802573467844629" -> null - role { - has_role = true -> null - role_id = "1488787087598813215" -> null } - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } } # discord_member_roles.locho will be destroyed # (because discord_member_roles.locho is not in configuration) - resource "discord_member_roles" "locho" { - id = "1353118209024331948:582666638550368277" -> null - server_id = "1353118209024331948" -> null - user_id = "582666638550368277" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1513653499957874871" -> null } } # discord_member_roles.lwahi will be destroyed # (because discord_member_roles.lwahi is not in configuration) - resource "discord_member_roles" "lwahi" { - id = "1353118209024331948:738509196487688262" -> null - server_id = "1353118209024331948" -> null - user_id = "738509196487688262" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1508601984255524885" -> null } } # discord_member_roles.naemii will be created + resource "discord_member_roles" "naemii" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "883898088610218004" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.oscarz will be created + resource "discord_member_roles" "oscarz" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1540852187591217242" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.rk will be destroyed # (because discord_member_roles.rk is not in configuration) - resource "discord_member_roles" "rk" { - id = "1353118209024331948:968243459389542430" -> null - server_id = "1353118209024331948" -> null - user_id = "968243459389542430" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1508601984255524885" -> null } } # discord_member_roles.samtran will be destroyed # (because discord_member_roles.samtran is not in configuration) - resource "discord_member_roles" "samtran" { - id = "1353118209024331948:714965582583169088" -> null - server_id = "1353118209024331948" -> null - user_id = "714965582583169088" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1494773174334783499" -> null } } # discord_member_roles.sh will be destroyed # (because discord_member_roles.sh is not in configuration) - resource "discord_member_roles" "sh" { - id = "1353118209024331948:1262421284143366166" -> null - server_id = "1353118209024331948" -> null - user_id = "1262421284143366166" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1505078357321191535" -> null } } # discord_member_roles.sudipi will be destroyed # (because discord_member_roles.sudipi is not in configuration) - resource "discord_member_roles" "sudipi" { - id = "1353118209024331948:735941345117470870" -> null - server_id = "1353118209024331948" -> null - user_id = "735941345117470870" -> null - role { - has_role = true -> null - role_id = "1488787088118644848" -> null } - role { - has_role = true -> null - role_id = "1550659990266581074" -> null } } # discord_member_roles.urc will be created + resource "discord_member_roles" "urc" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1257093033145536584" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } Plan: 4 to add, 1 to change, 10 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: 4 to add, 1 to change, 10 to destroy. --- ### Plan Summary 5 projects, 5 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 ```
thesuperRL force-pushed feat/cmu-cal-members from dd2b790b52
All checks were successful
kennel/build skipped: no services or static sites defined
atlantis/pre_workflow_hook: Install local-only OpenTofu providers succeeded.
atlantis/plan: slack Plan: 8 to add, 0 to change, 20 to destroy.
atlantis/plan: keycloak Plan: 0 to add, 18 to change, 0 to destroy.
atlantis/plan: google_groups Plan: 4 to add, 0 to change, 10 to destroy.
atlantis/plan: git Plan: 4 to add, 0 to change, 11 to destroy.
atlantis/plan: discord Plan: 4 to add, 1 to change, 10 to destroy.
atlantis/plan 5/5 projects planned successfully.
atlantis/policy_check 0/0 projects had policies checked successfully.
to 23f8cae3f8
All checks were successful
kennel/build skipped: no services or static sites defined
atlantis/plan: slack Plan: 8 to add, 0 to change, 0 to destroy.
atlantis/plan: keycloak Plan: 0 to add, 2 to change, 0 to destroy.
atlantis/plan: google_groups Plan: 4 to add, 0 to change, 0 to destroy.
atlantis/plan: git Plan: 4 to add, 0 to change, 0 to destroy.
atlantis/plan: discord Plan: 4 to add, 0 to change, 0 to destroy.
atlantis/plan 5/5 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: slack Apply succeeded.
atlantis/apply: git Apply succeeded.
atlantis/apply: google_groups Apply succeeded.
atlantis/apply: discord Apply succeeded.
atlantis/apply: keycloak Apply succeeded.
atlantis/apply 5/5 projects applied successfully.
2026-09-28 20:01:51 +00:00
Compare

Ran Plan for 5 projects:

  1. project: slack dir: tofu/slack workspace: default
  2. project: keycloak dir: tofu/keycloak workspace: default
  3. project: google_groups dir: tofu/google_groups workspace: default
  4. project: git dir: tofu/git workspace: default
  5. project: discord dir: tofu/discord 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 build directory
    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

OpenTofu will perform the following actions:

  # null_resource.slack_cmu-cal_ch0_gsouto will be created
+ resource "null_resource" "slack_cmu-cal_ch0_gsouto" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0BAUTVDTPE"
        }
    }

  # null_resource.slack_cmu-cal_ch0_naemii will be created
+ resource "null_resource" "slack_cmu-cal_ch0_naemii" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C418LMFGQ"
        }
    }

  # null_resource.slack_cmu-cal_ch0_oscarz will be created
+ resource "null_resource" "slack_cmu-cal_ch0_oscarz" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C1LRW2WU9"
        }
    }

  # null_resource.slack_cmu-cal_ch0_urc will be created
+ resource "null_resource" "slack_cmu-cal_ch0_urc" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C05TNBPHVTL"
          + "user"    = "U0C138JPWP7"
        }
    }

  # null_resource.slack_hub_gsouto will be created
+ resource "null_resource" "slack_hub_gsouto" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0BAUTVDTPE"
        }
    }

  # null_resource.slack_hub_naemii will be created
+ resource "null_resource" "slack_hub_naemii" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C418LMFGQ"
        }
    }

  # null_resource.slack_hub_oscarz will be created
+ resource "null_resource" "slack_hub_oscarz" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C1LRW2WU9"
        }
    }

  # null_resource.slack_hub_urc will be created
+ resource "null_resource" "slack_hub_urc" {
+       id       = (known after apply)
+       triggers = {
          + "channel" = "C096TM8EMS8"
          + "user"    = "U0C138JPWP7"
        }
    }

Plan: 8 to add, 0 to change, 0 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: 8 to add, 0 to change, 0 to destroy.


2. 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.21s


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:

  # keycloak_group_memberships.project_cmu-cal_cal will be updated in-place
! resource "keycloak_group_memberships" "project_cmu-cal_cal" {
        id       = "scottylabs/group-memberships/3800a836-0a57-40b7-839f-650a335bfccc"
!       members  = [
+           "gsouto",
+           "naemii",
+           "oscarz",
+           "urc",
            # (2 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

  # keycloak_group_memberships.projects will be updated in-place
! resource "keycloak_group_memberships" "projects" {
        id       = "scottylabs/group-memberships/9e6890c8-50a0-4b82-86b9-91791fffac25"
!       members  = [
+           "gsouto",
+           "naemii",
+           "oscarz",
+           "urc",
            # (103 unchanged elements hidden)
        ]
        # (2 unchanged attributes hidden)
    }

Plan: 0 to add, 2 to change, 0 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: 0 to add, 2 to change, 0 to destroy.


3. project: google_groups dir: tofu/google_groups 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.22s


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:

  # google_cloud_identity_group_membership.tech_gsouto will be created
+ resource "google_cloud_identity_group_membership" "tech_gsouto" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "gsouto@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_naemii will be created
+ resource "google_cloud_identity_group_membership" "tech_naemii" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "naemii@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_oscarz will be created
+ resource "google_cloud_identity_group_membership" "tech_oscarz" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "oscarz@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

  # google_cloud_identity_group_membership.tech_urc will be created
+ resource "google_cloud_identity_group_membership" "tech_urc" {
+       create_time = (known after apply)
+       group       = "groups/04anzqyu1bqbv79"
+       id          = (known after apply)
+       name        = (known after apply)
+       type        = (known after apply)
+       update_time = (known after apply)

+       preferred_member_key {
+           id = "urc@andrew.cmu.edu"
        }

+       roles {
+           name = "MEMBER"
        }
    }

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

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


4. 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.22s


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:

  # forgejo_team_member.cmu-cal_gsouto will be created
+ resource "forgejo_team_member" "cmu-cal_gsouto" {
+       team_id = 11
+       user    = "gsouto"
    }

  # forgejo_team_member.cmu-cal_naemii will be created
+ resource "forgejo_team_member" "cmu-cal_naemii" {
+       team_id = 11
+       user    = "naemii"
    }

  # forgejo_team_member.cmu-cal_oscarz will be created
+ resource "forgejo_team_member" "cmu-cal_oscarz" {
+       team_id = 11
+       user    = "oscarz"
    }

  # forgejo_team_member.cmu-cal_urc will be created
+ resource "forgejo_team_member" "cmu-cal_urc" {
+       team_id = 11
+       user    = "urc"
    }

Plan: 4 to add, 0 to change, 0 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: 4 to add, 0 to change, 0 to destroy.


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 package cache
    Blocking waiting for file lock on shared package cache
    Finished `release` profile [optimized] target(s) in 0.20s


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:

  # discord_member_roles.gsouto will be created
+ resource "discord_member_roles" "gsouto" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1251139998925983784"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.naemii will be created
+ resource "discord_member_roles" "naemii" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "883898088610218004"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.oscarz will be created
+ resource "discord_member_roles" "oscarz" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1540852187591217242"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

  # discord_member_roles.urc will be created
+ resource "discord_member_roles" "urc" {
+       id        = (known after apply)
+       server_id = "1353118209024331948"
+       user_id   = "1257093033145536584"

+       role {
+           has_role = true
+           role_id  = "1488787088118644848"
        }
+       role {
+           has_role = true
+           role_id  = "1526500755446698124"
        }
    }

Plan: 4 to add, 0 to change, 0 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: 4 to add, 0 to change, 0 to destroy.


Plan Summary

5 projects, 5 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 5 projects: 1. project: `slack` dir: `tofu/slack` workspace: `default` 1. project: `keycloak` dir: `tofu/keycloak` workspace: `default` 1. project: `google_groups` dir: `tofu/google_groups` workspace: `default` 1. project: `git` dir: `tofu/git` workspace: `default` 1. project: `discord` dir: `tofu/discord` 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 build directory 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 OpenTofu will perform the following actions: # null_resource.slack_cmu-cal_ch0_gsouto will be created + resource "null_resource" "slack_cmu-cal_ch0_gsouto" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0BAUTVDTPE" } } # null_resource.slack_cmu-cal_ch0_naemii will be created + resource "null_resource" "slack_cmu-cal_ch0_naemii" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C418LMFGQ" } } # null_resource.slack_cmu-cal_ch0_oscarz will be created + resource "null_resource" "slack_cmu-cal_ch0_oscarz" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C1LRW2WU9" } } # null_resource.slack_cmu-cal_ch0_urc will be created + resource "null_resource" "slack_cmu-cal_ch0_urc" { + id = (known after apply) + triggers = { + "channel" = "C05TNBPHVTL" + "user" = "U0C138JPWP7" } } # null_resource.slack_hub_gsouto will be created + resource "null_resource" "slack_hub_gsouto" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0BAUTVDTPE" } } # null_resource.slack_hub_naemii will be created + resource "null_resource" "slack_hub_naemii" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C418LMFGQ" } } # null_resource.slack_hub_oscarz will be created + resource "null_resource" "slack_hub_oscarz" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C1LRW2WU9" } } # null_resource.slack_hub_urc will be created + resource "null_resource" "slack_hub_urc" { + id = (known after apply) + triggers = { + "channel" = "C096TM8EMS8" + "user" = "U0C138JPWP7" } } Plan: 8 to add, 0 to change, 0 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: 8 to add, 0 to change, 0 to destroy. --- ### 2. 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.21s 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: # keycloak_group_memberships.project_cmu-cal_cal will be updated in-place ! resource "keycloak_group_memberships" "project_cmu-cal_cal" { id = "scottylabs/group-memberships/3800a836-0a57-40b7-839f-650a335bfccc" ! members = [ + "gsouto", + "naemii", + "oscarz", + "urc", # (2 unchanged elements hidden) ] # (2 unchanged attributes hidden) } # keycloak_group_memberships.projects will be updated in-place ! resource "keycloak_group_memberships" "projects" { id = "scottylabs/group-memberships/9e6890c8-50a0-4b82-86b9-91791fffac25" ! members = [ + "gsouto", + "naemii", + "oscarz", + "urc", # (103 unchanged elements hidden) ] # (2 unchanged attributes hidden) } Plan: 0 to add, 2 to change, 0 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: 0 to add, 2 to change, 0 to destroy. --- ### 3. project: `google_groups` dir: `tofu/google_groups` 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.22s 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: # google_cloud_identity_group_membership.tech_gsouto will be created + resource "google_cloud_identity_group_membership" "tech_gsouto" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "gsouto@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_naemii will be created + resource "google_cloud_identity_group_membership" "tech_naemii" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "naemii@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_oscarz will be created + resource "google_cloud_identity_group_membership" "tech_oscarz" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "oscarz@andrew.cmu.edu" } + roles { + name = "MEMBER" } } # google_cloud_identity_group_membership.tech_urc will be created + resource "google_cloud_identity_group_membership" "tech_urc" { + create_time = (known after apply) + group = "groups/04anzqyu1bqbv79" + id = (known after apply) + name = (known after apply) + type = (known after apply) + update_time = (known after apply) + preferred_member_key { + id = "urc@andrew.cmu.edu" } + roles { + name = "MEMBER" } } Plan: 4 to add, 0 to change, 0 to destroy. ``` </details> * :arrow_forward: To **apply** this plan, comment: ```shell atlantis apply -p google_groups ``` * :put_litter_in_its_place: To **delete** this plan and lock, click [here](https://atlantis.scottylabs.org/lock?id=ScottyLabs%252Fgovernance%252Ftofu%252Fgoogle_groups%252Fdefault%252Fgoogle_groups) * :repeat: To **plan** this project again, comment: ```shell atlantis plan -p google_groups ``` Plan: 4 to add, 0 to change, 0 to destroy. --- ### 4. 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.22s 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: # forgejo_team_member.cmu-cal_gsouto will be created + resource "forgejo_team_member" "cmu-cal_gsouto" { + team_id = 11 + user = "gsouto" } # forgejo_team_member.cmu-cal_naemii will be created + resource "forgejo_team_member" "cmu-cal_naemii" { + team_id = 11 + user = "naemii" } # forgejo_team_member.cmu-cal_oscarz will be created + resource "forgejo_team_member" "cmu-cal_oscarz" { + team_id = 11 + user = "oscarz" } # forgejo_team_member.cmu-cal_urc will be created + resource "forgejo_team_member" "cmu-cal_urc" { + team_id = 11 + user = "urc" } Plan: 4 to add, 0 to change, 0 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: 4 to add, 0 to change, 0 to destroy. --- ### 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 package cache Blocking waiting for file lock on shared package cache Finished `release` profile [optimized] target(s) in 0.20s 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: # discord_member_roles.gsouto will be created + resource "discord_member_roles" "gsouto" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1251139998925983784" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.naemii will be created + resource "discord_member_roles" "naemii" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "883898088610218004" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.oscarz will be created + resource "discord_member_roles" "oscarz" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1540852187591217242" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } # discord_member_roles.urc will be created + resource "discord_member_roles" "urc" { + id = (known after apply) + server_id = "1353118209024331948" + user_id = "1257093033145536584" + role { + has_role = true + role_id = "1488787088118644848" } + role { + has_role = true + role_id = "1526500755446698124" } } Plan: 4 to add, 0 to change, 0 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: 4 to add, 0 to change, 0 to destroy. --- ### Plan Summary 5 projects, 5 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 ```
jalenluorion deleted branch feat/cmu-cal-members 2026-09-29 00:07:48 +00:00

Locks and plans deleted for the projects and workspaces modified in this pull request:

  • dir: tofu/discord workspace: default
  • dir: tofu/git workspace: default
  • dir: tofu/google_groups workspace: default
  • dir: tofu/keycloak workspace: default
  • dir: tofu/slack workspace: default
Locks and plans deleted for the projects and workspaces modified in this pull request: - dir: `tofu/discord` workspace: `default` - dir: `tofu/git` workspace: `default` - dir: `tofu/google_groups` workspace: `default` - dir: `tofu/keycloak` workspace: `default` - dir: `tofu/slack` workspace: `default`
Sign in to join this conversation.
No description provided.