Skip to content

Support to load credentials from environment variables #255

@pv8

Description

@pv8

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:

  1. Containerized deployments: Docker containers and Kubernetes deployments commonly use environment variables for configuration
  2. CI/CD pipelines: Many automation systems prefer environment variables for secrets management
  3. Security best practices: Some environments prohibit storing credentials in files on disk
  4. Temporary usage: Users who want to run noipy occasionally without persisting credentials to disk
  5. Multiple environments: Easier switching between different credentials for dev/staging/production

Implementation Suggestions

The credential loading priority should be:

  1. Command line arguments (-u, -p, etc.)
  2. Environment variables
  3. Stored config file ($HOME/.noipy/)

This ensures backward compatibility while providing the flexibility of environment variables.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions