A runtime configuration loader for Elixir applications that retrieves settings from environment variables, files, and cloud services.
Hush is a runtime configuration loader for Elixir applications that retrieves settings from various sources like environment variables, files, and cloud secret managers. It solves the problem of injecting configuration that isn't known at compile time, enabling secure and flexible configuration management in production environments.
Elixir developers building applications that require runtime configuration, especially those deploying with releases or needing to manage secrets from cloud providers.
Developers choose Hush for its provider-based architecture, concurrent secret fetching, and seamless integration with Elixir's release system, offering a robust alternative to hardcoded configuration.
Hush is a runtime configuration loader for Elixir applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports environment variables, local files, AWS Secrets Manager, and Google Cloud Secret Manager, enabling diverse configuration sources without hardcoding.
Seamlessly works with Elixir's Config.Provider for release mode, solving the problem of injecting unknown-at-compile-time settings like Heroku's PORT variable.
Casts values to Elixir native types such as integers, booleans, and atoms through the Cast transformer, reducing manual conversion code.
Fetches secrets concurrently with configurable limits and caching, optimizing startup times in production environments.
Providers like GcpSecretManager require explicit loading at application startup, adding complexity compared to simpler environment variable approaches.
AWS and GCP integrations are in separate packages (hush_aws_secrets_manager, hush_gcp_secret_manager), necessitating additional setup and dependency management.
Uses a specific tuple format {:hush, Provider, "key", options} that can be less intuitive and more verbose than standard Elixir keyword lists.