🚀 Enhancements
fix: thread auth identity through describe/list affected for S3 state reads @osterman (#2250)
## what- Thread
AuthManagerthrough the entire describe affected call chain soExecuteDescribeStacksreceives the identity credentials instead ofnil - Fix
GetTerraformStateto use the resolved component-specificAuthContextfor S3 backend reads instead of the (potentially nil) passed-inauthContext - Add per-component identity resolution in
ExecuteDescribeStacksgated behindprocessYamlFunctions, so each component can use its own identity for!terraform.statereads - Wire the
--identity/-iflag through thelist affectedcommand, which had the flag registered (inherited fromlistCmd) but never read it or created anAuthManager
why
- Customer reported
atmos list affected --ref refs/heads/mainfailing with S3 auth errors despite validatmos authidentity - Debug logs showed
resolveAuthManagerForNestedComponentcorrectly created per-component AuthManagers, but the credentials were never used for the actual S3GetObjectcall - Four independent bugs: (1) AuthManager dropped in describe affected call chain, (2)
GetTerraformStateignored resolved AuthContext for backend reads, (3) no per-component identity resolution inExecuteDescribeStacks, (4)list affectednever read the--identityflag - Running inside
atmos auth shellworked because it setsATMOS_IDENTITYenv var (viper fallback), but explicit-i admin-accountwas silently ignored bylist affected
references
docs/fixes/2026-03-25-describe-affected-auth-identity-not-used.md— detailed fix documentationdocs/fixes/nested-terraform-state-auth-context-propagation.md— original nested auth fixdocs/fixes/2026-03-03-yaml-functions-auth-multi-component.md— multi-component auth fix
Summary by CodeRabbit
-
New Features
- Added
--identityflag tolist affectedfor explicit identity selection.
- Added
-
Bug Fixes
- Ensure authentication context is propagated into affected/describe flows.
- Terraform backend state reads now use the resolved identity/auth for S3.
- Per-component identity resolution applied during stack processing.
-
Documentation
- Added end-to-end fix description for affected/describe identity handling.
-
Tests
- Added and updated tests covering identity parsing and auth-manager propagation.
fix: preserve deleted and deletion_type fields in upload strip @milldr (#2249)
## WhatPreserve deleted and deletion_type fields in StripAffectedForUpload so they reach Atmos Pro when using --upload.
Why
StripAffectedForUpload constructs a new schema.Affected with only the fields needed by Atmos Pro, but it was missing Deleted and DeletionType. This caused deleted components to arrive at Atmos Pro without their deletion metadata, making them appear as "disabled" instead of "deleted".
References
- Previous fix (dependents crash): #2237
- Atmos Pro PR: cloudposse-corp/apps#933
- Linear: AP-161
Summary by CodeRabbit
- Bug Fixes
- Fixed an issue where deletion-related information was not being properly preserved during the data upload process.