-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Summary
Add support for loading authentication credentials from environment variables as an alternative to the current config file storage method.
Motivation
Currently, noipy supports storing credentials using the --store
option, which saves them to $HOME/.noipy/
directory encoded with Base64. While this works well for many use cases, there are scenarios where environment variables would be more appropriate:
- Containerized deployments: Docker containers and Kubernetes deployments commonly use environment variables for configuration
- CI/CD pipelines: Many automation systems prefer environment variables for secrets management
- Security best practices: Some environments prohibit storing credentials in files on disk
- Temporary usage: Users who want to run noipy occasionally without persisting credentials to disk
- Multiple environments: Easier switching between different credentials for dev/staging/production
Implementation Suggestions
The credential loading priority should be:
- Command line arguments (
-u
,-p
, etc.) - Environment variables
- Stored config file (
$HOME/.noipy/
)
This ensures backward compatibility while providing the flexibility of environment variables.