Skip to content

Commit

Permalink
Move supervisor flags under supervisor package
Browse files Browse the repository at this point in the history
  • Loading branch information
tadaskay committed Jun 11, 2020
1 parent ed964d0 commit 2edea8b
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 18 deletions.
26 changes: 8 additions & 18 deletions cmd/supervisor/supervisor.go
Expand Up @@ -18,48 +18,38 @@
package main

import (
"flag"
"fmt"
"os"
"path/filepath"

"github.com/mysteriumnetwork/node/metadata"
"github.com/mysteriumnetwork/node/supervisor/daemon/transport"
"github.com/mysteriumnetwork/node/supervisor/logconfig"
"github.com/rs/zerolog"
"github.com/mysteriumnetwork/node/supervisor/svflags"
"github.com/rs/zerolog/log"

"github.com/mysteriumnetwork/node/supervisor/config"
"github.com/mysteriumnetwork/node/supervisor/daemon"
"github.com/mysteriumnetwork/node/supervisor/install"
)

var (
flagVersion = flag.Bool("version", false, "Print version")
flagInstall = flag.Bool("install", false, "Install or repair myst supervisor")
flagUninstall = flag.Bool("uninstall", false, "Uninstall myst supervisor")
flagLogFilePath = flag.String("log-path", "", "Supervisor log file path")
flagLogLevel = flag.String("log-level", zerolog.InfoLevel.String(), "Logging level")
flagWinService = flag.Bool("winservice", false, "Run via service manager instead of standalone (windows only).")
)

func main() {
flag.Parse()
svflags.Parse()

if *flagVersion {
if *svflags.FlagVersion {
fmt.Println(metadata.VersionAsString())
os.Exit(0)
}

logOpts := logconfig.LogOptions{
LogLevel: *flagLogLevel,
Filepath: *flagLogFilePath,
LogLevel: *svflags.FlagLogLevel,
Filepath: *svflags.FlagLogFilePath,
}
if err := logconfig.Configure(logOpts); err != nil {
log.Fatal().Err(err).Msg("Failed to configure logging")
}

if *flagInstall {
if *svflags.FlagInstall {
path, err := thisPath()
if err != nil {
log.Fatal().Err(err).Msg("Failed to determine supervisor's path")
Expand All @@ -73,7 +63,7 @@ func main() {
log.Fatal().Err(err).Msg("Failed to install supervisor")
}
log.Info().Msg("Supervisor installed")
} else if *flagUninstall {
} else if *svflags.FlagUninstall {
log.Info().Msg("Uninstalling supervisor")
if err := install.Uninstall(); err != nil {
log.Fatal().Err(err).Msg("Failed to uninstall supervisor")
Expand All @@ -82,7 +72,7 @@ func main() {
} else {
log.Info().Msg("Running myst supervisor daemon")
supervisor := daemon.New(&config.Config{})
if err := supervisor.Start(transport.Options{WinService: *flagWinService}); err != nil {
if err := supervisor.Start(transport.Options{WinService: *svflags.FlagWinService}); err != nil {
log.Fatal().Err(err).Msg("Error running supervisor")
}
}
Expand Down
38 changes: 38 additions & 0 deletions supervisor/svflags/flags.go
@@ -0,0 +1,38 @@
/*
* Copyright (C) 2020 The "MysteriumNetwork/node" Authors.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

package svflags

import (
"flag"

"github.com/rs/zerolog"
)

var (
FlagVersion = flag.Bool("version", false, "Print version")
FlagInstall = flag.Bool("install", false, "Install or repair myst supervisor")
FlagUninstall = flag.Bool("uninstall", false, "Uninstall myst supervisor")
FlagLogFilePath = flag.String("log-path", "", "Supervisor log file path")
FlagLogLevel = flag.String("log-level", zerolog.InfoLevel.String(), "Logging level")
FlagWinService = flag.Bool("winservice", false, "Run via service manager instead of standalone (windows only).")
)

// Parse parses supervisor flags.
func Parse() {
flag.Parse()
}

0 comments on commit 2edea8b

Please sign in to comment.