feat: added config implementation using viper

This commit is contained in:
David Allen 2025-09-15 15:52:42 -06:00
parent 7713c2e55d
commit 481a0782c5
Signed by: towk
GPG key ID: 0430CDBE22619155
6 changed files with 215 additions and 64 deletions

View file

@ -19,17 +19,18 @@ var serveCmd = &cobra.Command{
makeshift serve --root ./test --init -l debug
`,
Args: cobra.NoArgs,
PreRun: func(cmd *cobra.Command, args []string) {
setenv(cmd, "host", "MAKESHIFT_HOST")
setenv(cmd, "root", "MAKESHIFT_ROOT")
setenv(cmd, "timeout", "MAKESHIFT_TIMEOUT")
setenv(cmd, "cacert", "MAKESHIFT_CACERT")
setenv(cmd, "keyfile", "MAKESHIFT_KEYFILE")
},
// PreRun: func(cmd *cobra.Command, args []string) {
// setenv(cmd, "host", "MAKESHIFT_HOST")
// setenv(cmd, "root", "MAKESHIFT_ROOT")
// setenv(cmd, "timeout", "MAKESHIFT_TIMEOUT")
// setenv(cmd, "cacert", "MAKESHIFT_CACERT")
// setenv(cmd, "keyfile", "MAKESHIFT_KEYFILE")
// },
Run: func(cmd *cobra.Command, args []string) {
var (
host, _ = cmd.Flags().GetString("host")
rootPath, _ = cmd.Flags().GetString("root")
configPath, _ = cmd.Flags().GetString("config")
cacertPath, _ = cmd.Flags().GetString("cacert")
keyfile, _ = cmd.Flags().GetString("keyfile")
timeout, _ = cmd.Flags().GetInt("timeout")
@ -60,6 +61,7 @@ var serveCmd = &cobra.Command{
Str("host", parsed.Host).
Any("paths", map[string]string{
"root": rootPath,
"config": configPath,
"cacert": cacertPath,
"keyfile": keyfile,
"data": server.PathForData(),