mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-18 02:49:01 -05:00
35 lines
1018 B
Go
35 lines
1018 B
Go
package cmd
|
|
|
|
import (
|
|
"github.com/owncloud/ocis/ocis/pkg/runtime/config"
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
var (
|
|
rootCmd = &cobra.Command{
|
|
Use: "pman",
|
|
Short: "RPC Process Manager",
|
|
}
|
|
)
|
|
|
|
// RootCmd returns a configured root command.
|
|
func RootCmd(cfg *config.Config) *cobra.Command {
|
|
rootCmd.PersistentFlags().StringVarP(&cfg.Hostname, "hostname", "n", "localhost", "host with a running oCIS runtime.")
|
|
rootCmd.PersistentFlags().StringVarP(&cfg.Port, "port", "p", "10666", "port to send messages to the rpc oCIS runtime.")
|
|
rootCmd.PersistentFlags().BoolVarP(&cfg.KeepAlive, "keep-alive", "k", false, "restart supervised processes that abruptly die.")
|
|
|
|
if err := viper.BindPFlag("hostname", rootCmd.PersistentFlags().Lookup("hostname")); err != nil {
|
|
panic(err)
|
|
}
|
|
if err := viper.BindPFlag("port", rootCmd.PersistentFlags().Lookup("port")); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
rootCmd.AddCommand(List(cfg))
|
|
rootCmd.AddCommand(Run(cfg))
|
|
rootCmd.AddCommand(Kill(cfg))
|
|
|
|
return rootCmd
|
|
}
|