You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(credentials): add secure credential storage for API keys (#263)
* feat(credentials): add secure credential storage for API keys
- Introduce a secure credential store with OS keyring support and file fallback for managing API keys
- Migrate sensitive API keys out of plaintext config files into the secure store during config initialization
- Route config set operations for sensitive keys to the secure store and ensure they are removed from YAML
- Enhance config list output to reflect where sensitive credentials are stored or if they remain unmigrated
- Update all provider initializations to retrieve API keys from the secure store with fallback to existing config sources
- Add comprehensive tests covering secure credential storage, retrieval, deletion, and missing-key behavior
- Add and update dependencies required for secure credential storage and platform support
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* fix(credentials): address PR review comments
- Guard migration with viper.InConfig() to avoid persisting env vars
- Handle os.UserHomeDir() error with TempDir fallback
- Create fallback credential directory before constructing file store
- Use viper.InConfig() in config list to detect YAML-stored keys
- Surface GetCredential errors in config list instead of silent failure
- Use filepath.Join in tests for cross-platform path safety
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
0 commit comments