Files
nebula-sync/cmd/run.go
T
2024-08-17 13:02:09 +02:00

44 lines
835 B
Go

package cmd
import (
"github.com/lovelaze/nebula-sync/internal/config"
"github.com/lovelaze/nebula-sync/internal/service"
"github.com/rs/zerolog/log"
"github.com/spf13/cobra"
)
var envFile string
var runCmd = &cobra.Command{
Use: "run",
Short: "Run sync",
Run: func(cmd *cobra.Command, args []string) {
readEnvFile()
service, err := service.Init()
if err != nil {
log.Fatal().Err(err).Msg("failed to initialize service")
}
if err = service.Run(); err != nil {
log.Fatal().Err(err).Msg("service error")
}
},
}
func init() {
rootCmd.AddCommand(runCmd)
runCmd.Flags().StringVar(&envFile, "env-file", "", "Read env from `.env` file")
}
func readEnvFile() {
if envFile == "" {
return
}
if err := config.LoadEnvFile(envFile); err != nil {
log.Fatal().Err(err).Msg("error loading env file")
}
}