fix(dashboard): discover Bedrock IAM roles in profile builder - #71587
qstyk-agent001-bot wants to merge 1 commit into
Conversation
Related: #50216 restores IAM-role Bedrock discovery by probing all picker contexts; this patch confines the full credential-chain probe to the Dashboard Profile Builder. These are competing discovery contracts, not duplicate patches. |
|
Thanks for the narrowly scoped fix. Current The proposed propagation is consistent with the existing no-probe regression contract for ordinary non-Bedrock picker opens ( Automated hermes-sweeper review. |
What does this PR do?
The dashboard Profile Builder now explicitly opts into the AWS SDK's full credential chain while loading model choices. This surfaces Bedrock models for EC2 users authenticated only through an IAM instance role, even when another provider is the current default.
The opt-in preserves the intentional safeguard from #18998: routine model picker opens still do not probe IMDS on machines without explicit AWS credential signals. This is a narrower alternative to the unconditional probing proposed in #50216.
Related Issue
Related: #50216
Type of Change
Changes Made
probe_cloud_credentialsflag through the provider inventory and dashboard model-options endpoint.ProfileBuilderPagerequest the full cloud credential-chain probe.How to Test
scripts/run_tests.sh tests/hermes_cli/test_bedrock_model_picker.py tests/hermes_cli/test_inventory.py tests/hermes_cli/test_web_server_profile_unification.py -q.cd web && npm run typecheck && npm test && npx eslint src/lib/api.ts src/lib/api.test.ts src/pages/ProfileBuilderPage.tsx.Checklist
Code
pytest tests/ -qsuite locally. (The repository wrapper was attempted, but this checkout lacks the optionalacpdependency and the ~44k-test run exceeded 10 minutes; focused hermetic suites pass.)Documentation & Housekeeping
cli-config.yaml.exampleupdate is N/A; no config keys changed.CONTRIBUTING.md/AGENTS.mdupdate is N/A; no architecture or workflow changed.Verification
Focused Python suites: 101 passed under
scripts/run_tests.sh.Web dashboard: 98 tests passed, TypeScript typecheck passed, and ESLint passed.
Live EC2 verification with
model.provider=openai-codexand IAM-role-only AWS credentials:An independent pre-commit review found no security concerns, logic errors, or suggestions.