initial commit

This commit is contained in:
2024-10-06 10:20:55 +02:00
commit 2c1fc885f5
7 changed files with 361 additions and 0 deletions

43
main.go Normal file
View 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"),
)
}