Files
upstream-centrifugo/internal/cli/genconfig.go
upstream-mirror b352a9a30d
Some checks failed
test / Lint (push) Failing after 3s
test / Test with Go 1.26.8 (push) Failing after 2s
snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:17:21 +05:00

46 lines
1.1 KiB
Go

package cli
import (
"fmt"
"os"
"github.com/centrifugal/centrifugo/v6/internal/config"
"github.com/centrifugal/centrifugo/v6/internal/tools"
"github.com/spf13/cobra"
)
func GenConfig() *cobra.Command {
var outputConfigFile string
var genConfigCmd = &cobra.Command{
Use: "genconfig",
Short: "Generate minimal configuration file to start with",
Long: `Generate minimal configuration file to start with`,
Run: func(cmd *cobra.Command, args []string) {
genConfig(cmd, outputConfigFile)
},
}
genConfigCmd.Flags().StringVarP(&outputConfigFile, "config", "c", "config.json", "path to output config file")
return genConfigCmd
}
func genConfig(cmd *cobra.Command, outputConfigFile string) {
err := tools.GenerateConfig(outputConfigFile)
if err != nil {
fmt.Printf("error: %v\n", err)
os.Exit(1)
}
cfg, _, err := config.GetConfig(cmd, outputConfigFile)
if err != nil {
_ = os.Remove(outputConfigFile)
fmt.Printf("error getting config: %v\n", err)
os.Exit(1)
}
err = cfg.Validate()
if err != nil {
_ = os.Remove(outputConfigFile)
fmt.Printf("error validating config: %v\n", err)
os.Exit(1)
}
}