diff --git a/main/agent.go b/main/agent.go index 04df3a127..c74f0df8a 100644 --- a/main/agent.go +++ b/main/agent.go @@ -4,6 +4,7 @@ import ( "fmt" "os" "os/signal" + "path/filepath" "syscall" "time" @@ -80,14 +81,17 @@ func main() { asyncLog := logger.NewAsyncWriterLogger(logger.LevelDebug, os.Stderr) logger := newSignalableLogger(asyncLog) + switch binaryName(os.Args[0]) { + case "bosh-enable-monit-access": + firewall.EnableMonitAccess(logger, "enable-monit-access") + return + } + if len(os.Args) > 1 { switch cmd := os.Args[1]; cmd { case "compile": compileTarball(cmd, os.Args[2:]) return - case "enable-monit-access": - firewall.EnableMonitAccess(logger, cmd) - return } } @@ -102,6 +106,10 @@ func main() { os.Exit(exitCode) } +func binaryName(argv0 string) string { + return filepath.Base(argv0) +} + func newSignalableLogger(logger logger.Logger) logger.Logger { c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGSEGV)