Infrastructure Stream — Changelog
Authoritative artefacts:
- infrastructure PR #451 — Phase-2 env-var pipeline + inline
BuildSpeccleanup (merged 2026-05-08). - infrastructure PR #452 —
amm.shcross-region fix (PDEV-452, merged 2026-05-11).
Added (PR #451)
Section titled “Added (PR #451)”partitionSecrets.cfn.yaml: newAmazonCreatorsApiparameter (JSON string,MinLength:1,NoEcho:true),AmazonCreatorsApiSecretresource (${Infrastructure}-${Partition}-AmazonCreatorsApi), andAmazonCreatorsApiArnoutput exported as${Infrastructure}-${Partition}-I-AmazonCreatorsApiArn.amplify.cfn.yaml: four newEnvironmentVariablesentries (AMAZON_CREATORS_CREDENTIAL_ID,AMAZON_CREATORS_CREDENTIAL_SECRET,AMAZON_CREATORS_CREDENTIAL_VERSION,AMAZON_ASSOCIATE_TAG) resolving via{{resolve:secretsmanager:...:SecretString:::}}— applies to full-IaC partitions only (Alpha001:demo).amm.sh:resolve_amazon_credentials()reads four fields fromop://${VAULT}/Amazon Creators API/{field}, validates non-empty, and produces a JSON string viajq -n.partitionSecretsCFN deploy now passesAmazonCreatorsApi=$AMAZON_CREATORS_API_JSON.- Partial-IaC
jq-merge block (Step 2.5.3) extended to fetch${infrastructure}-${partition}-AmazonCreatorsApifrom Secrets Manager and inject all fourAMAZON_*env vars into the Amplify app alongside the existingCLOUDFRONT_KEY_PAIR_IDconditional. - Inline-
BuildSpecdrift check at the top of each partition’s deploy loop fails fast with a remediation command if a non-empty inlineBuildSpecis detected.
.github/workflows/amm.yml: installs theopCLI via1password/install-cli-action@v1before the “Apply AMM” step; exposesOP_SERVICE_ACCOUNT_TOKEN(already-provisioned GH Org secret). 1Password remains the single source of truth — no parallelAMAZON_CREATORS_API_JSON_<partition>GH-secret pattern was introduced.- One-time out-of-band action (Task 8b, completed before merge): all four Amplify apps had their inline
BuildSpeccleared to whitespace, so future builds readamplify.ymlfrom the connected branch.
Fixed (PR #451 — incidental cleanups in scope)
Section titled “Fixed (PR #451 — incidental cleanups in scope)”PARTITION_VAULT_MAP[prod]corrected fromSystemsOAMtoProdOAM, aligning the production partition’s credential lookup with the actual vault that holds production secrets. In scope because this PR introduces the first new prod-vault reads.- Drift check now treats both the AWS CLI
--output textnull marker (None) and JSONnullas empty, preventing false-positive drift failures on partitions wherebuildSpecis unset. - SSO login moved before the drift-check AWS calls so an expired local session produces an explicit auth error rather than a silently-skipped check.
- Partial-IaC Amazon credential merge validates each
jq-extracted field (credentialId,credentialSecret,version,associateTag) is non-empty and notnullbefore updating Amplify env vars. AMAZON_CREATORS_API_JSONcleared at the start of each partition iteration so a multi-partitionallinvocation resolves credentials from the correct per-partition vault rather than reusing the first partition’s.- Amazon credential values registered with the GitHub Actions log redactor (
::add-mask::) before any code path can echo them.
Fixed (PR #452 — PDEV-452 follow-up)
Section titled “Fixed (PR #452 — PDEV-452 follow-up)”amm.shtargets the correct AWS region on every internalaws amplify ...call by resolving a per-partitionamplify_regionfromAMPLIFY_REGION_OVERRIDES(with the script’sAWS_REGIONas default) and passing it explicitly via--regionat every call site. Surfaced during the v1 prod rollout:Alpha001:prod’s Amplify app is inus-east-2while the rest of Alpha001 is inus-east-1, so the drift check and env-var update had been silently failing against prod withNotFoundException. Resolution priority is now--regionflag >AWS_REGIONenv >AWS_DEFAULT_REGIONenv > active profile’s default region; the resolution runs after the auto-derivedAWS_DEFAULT_PROFILEso the profile-default lookup targets the same profile the rest of the script uses.
Copyright: © Arda Systems 2025-2026, All rights reserved