Never use environment variables for configuration

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • ninja

    a small build system with a focus on speed

  • there's an astonishingly silly GitHub issue thread linked in the comments of the post: https://github.com/ninja-build/ninja/issues/1482

  • prometheus

    The Prometheus monitoring system and time series database.

  • Any link about that? Are you talking about this? https://github.com/prometheus/prometheus/issues/6047#issueco...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • viper

    Go configuration with fangs

  • > Perhaps the ideal tool would allow every option to be set/changed from config file, environment and argument.

    This is exactly what the most widely used golang configuration library does: https://github.com/spf13/viper

  • figga

    A simple configuration manager for Python

  • The most common problem that I've encountered with using environment variables for configuration is that developers often add them ad-hoc, in the module where the configuration is needed, making it impossible to have a clear idea of all the configurable options in a program.

    The solution is not to get rid of env vars, but to have a mechanism that centralises the confirguration in one place; this way all the options are easy to locate, and they can be defined in multiple ways.

    Shameless plug, FWIW: figga is my humble contribution to this area for Python: https://github.com/berislavlopac/figga

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts