What is the most common approach to configure a backend app?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

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

    Go configuration with fangs

  • I guess most people are using https://github.com/spf13/viper but I don't know if I should read everything from

  • kelseyhightower/envconfig

    Golang library for managing configuration data from environment variables

  • - Having one way of configuring the app is excellent. You can either prefer environment variables, a file, or flags. You can do what Viper does by reading the file and unmarshalling it. The built-in flag package is enough for your flag-based config needs. If you want to prefer environment variables, I prefer https://github.com/kelseyhightower/envconfig

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ko

    Build and deploy Go applications

  • - There're many resources available about containerizing an application, but I suggest you buildpacks or ko, which doesn't require writing a Dockerfile

  • ff

    Flags-first package for configuration

  • We have been using https://github.com/peterbourgon/ff for long time now. It combines the standard flags with the environment variables nicely.

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