initial commit
This commit is contained in:
43
main.go
Normal file
43
main.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
"yves-biener.de/wish-serve/internal/serve"
|
||||
)
|
||||
|
||||
func createDefaultConfig() {
|
||||
viper.SetDefault("host", "127.0.0.1")
|
||||
viper.SetDefault("port", "8022")
|
||||
viper.SetDefault("users", map[string]string{})
|
||||
viper.SetDefault("app.name", "echo")
|
||||
viper.SetDefault("app.args", []string{"Hello World"})
|
||||
}
|
||||
|
||||
// Load the configuration file from (`$HOME/.config/serve/config.yml` or
|
||||
// `./config.yml`) if it exists. Otherwise use the default values from
|
||||
// `createDefaultConfig()`.
|
||||
func loadConfig() {
|
||||
viper.SetConfigName("config")
|
||||
viper.SetConfigType("yml")
|
||||
viper.AddConfigPath("$HOME/.config/serve")
|
||||
viper.AddConfigPath(".")
|
||||
if err := viper.ReadInConfig(); err != nil && !errors.Is(err, viper.ConfigFileNotFoundError{}) {
|
||||
panic(fmt.Errorf("fatal error config file: %w", err))
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
createDefaultConfig()
|
||||
loadConfig()
|
||||
|
||||
serve.Serve(
|
||||
viper.GetString("host"),
|
||||
viper.GetString("port"),
|
||||
viper.GetStringMapString("users"),
|
||||
viper.GetString("app.name"),
|
||||
viper.GetStringSlice("app.args"),
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user