cookiecutter-golang
viper
Our great sponsors
cookiecutter-golang | viper | |
---|---|---|
2 | 74 | |
671 | 25,756 | |
- | - | |
2.4 | 8.8 | |
3 months ago | 6 days ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cookiecutter-golang
-
How awesome is cookiecutter?
~ cookiecutter https://github.com/lacion/cookiecutter-golang.git full_name [Luis Morales]: Ricardo Castro github_username [lacion]: mccricardo app_name [mygolangproject]: demo project_short_description [A Golang project.]: A demo docker_hub_username [lacion]: mccricardo docker_image [lacion/alpine-base-image:latest]: golang:1.16.5-apline3.14 docker_build_image [lacion/alpine-golang-buildimage]: golang:1.16.5-apline3.14 Select docker_build_image_version: 1 - 1.13 2 - 1.12.9 3 - 1.11.9 Choose from 1, 2, 3 [1]: 1 Select go_mod_or_dep: 1 - mod 2 - dep Choose from 1, 2 [1]: 1 use_docker [y]: y use_git [y]: y use_logrus_logging [y]: y use_viper_config [y]: y use_cobra_cmd [y]: y Select use_ci: 1 - travis 2 - circle 3 - none Choose from 1, 2, 3 [1]: 3 Initialized empty Git repository in /home/mccricardo/test/demo/.git/ [master (root-commit) 2e82ac9] Initial Commit. 13 files changed, 597 insertions(+) create mode 100644 .gitignore create mode 100644 AUTHORS.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 cmd/root.go create mode 100644 cmd/version.go create mode 100644 config/config.go create mode 100644 go.mod create mode 100644 log/log.go create mode 100644 main.go create mode 100644 version/version.go
-
Backstage Software Templates
@backstage/plugin-scaffolder-backend through CookieCutter "knows" how to bootstrap Golang projects based on cookiecutter-golang. And that's how all the magic happens.
viper
-
Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs
Once environment variables are setup we need load them into our project. For this this i will use viper
-
Proxy Server in Go
The code uses Viper to load configuration files in the application.
- API completa em Golang - Parte 2
-
What 3rd-party libraries do you use often/all the time?
github.com/spf13/viper
- API completa em Golang - Parte 1
-
Building RESTful API with Hexagonal Architecture in Go
Instead of directly accessing environment variables with os.Getenv(), integrating a configuration handler like viper might make it maintainable.
-
What is the most common approach to configure a backend app?
I guess most people are using https://github.com/spf13/viper but I don't know if I should read everything from
-
Could I get a code review?
Use Viper for config file or environmental variable configuration -- it's going to save you a whole lot of time.
-
Which packages do you recommend for building cli tools?
Cobra and Viper.
-
Library for Python similar to Go's Viper / 12 Factor
I've mostly been using https://github.com/spf13/viper of late for my go projects. It supports the standard config formats, (json, yaml, toml etc) and lets you override any value with a ENV value.
What are some alternatives?
golang-templates/seed - Go application GitHub repository template.
godotenv - A Go port of Ruby's dotenv library (Loads environment variables from .env files)
golang-standards/project-layout - Standard Go Project Layout
envconfig - Small library to read your configuration from environment variables
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
scaffold - Generate scaffold project layout for Go.
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
pagoda - Rapid, easy full-stack web development starter kit in Go
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
service - Starter-kit for writing services in Go using Kubernetes.
mapstructure - Go library for decoding generic map values into native Go structures and vice versa.