preparation for v0.2.0 #3
@ -28,7 +28,8 @@ func (v Version) Cmd(cmd *cobra.Command) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (v Version) Flag(cmd *cobra.Command) {
|
func (v Version) Flag(cmd *cobra.Command) {
|
||||||
cmd.PersistentFlags().Count(versionFlag, "print version")
|
viper.SetDefault(versionFlag, false)
|
||||||
|
cmd.PersistentFlags().Bool(versionFlag, false, "print version")
|
||||||
_ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag))
|
_ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,6 @@ const (
|
|||||||
EnvSetsid = "SETSID"
|
EnvSetsid = "SETSID"
|
||||||
userFlag = "user"
|
userFlag = "user"
|
||||||
EnvUser = "USER"
|
EnvUser = "USER"
|
||||||
versionFlag = "version"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -56,16 +55,16 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rootCmd.PersistentFlags().BoolP(setsidFlag, "s", false, "set to true to run setsid() before exec")
|
rootCmd.PersistentFlags().BoolP(setsidFlag, "s", false, "set to true to run setsid() before exec")
|
||||||
viper.BindPFlag(EnvSetsid, rootCmd.PersistentFlags().Lookup(setsidFlag))
|
_ = viper.BindPFlag(EnvSetsid, rootCmd.PersistentFlags().Lookup(setsidFlag))
|
||||||
|
|
||||||
rootCmd.PersistentFlags().StringP(userFlag, "u", "", "\"user:[group]\"")
|
rootCmd.PersistentFlags().StringP(userFlag, "u", "", "\"user:[group]\"")
|
||||||
viper.BindPFlag(EnvUser, rootCmd.PersistentFlags().Lookup(userFlag))
|
_ = viper.BindPFlag(EnvUser, rootCmd.PersistentFlags().Lookup(userFlag))
|
||||||
|
|
||||||
app.version.Flag(rootCmd)
|
app.version.Flag(rootCmd)
|
||||||
|
|
||||||
viper.SetEnvPrefix(wingmate.EnvPrefix)
|
viper.SetEnvPrefix(wingmate.EnvPrefix)
|
||||||
viper.BindEnv(EnvUser)
|
_ = viper.BindEnv(EnvUser)
|
||||||
viper.BindEnv(EnvSetsid)
|
_ = viper.BindEnv(EnvSetsid)
|
||||||
viper.SetDefault(EnvSetsid, false)
|
viper.SetDefault(EnvSetsid, false)
|
||||||
viper.SetDefault(EnvUser, "")
|
viper.SetDefault(EnvUser, "")
|
||||||
|
|
||||||
@ -84,7 +83,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *execApp) execCmd(cmd *cobra.Command, args []string) error {
|
func (e *execApp) execCmd(_ *cobra.Command, _ []string) error {
|
||||||
e.version.FlagHook()
|
e.version.FlagHook()
|
||||||
|
|
||||||
if e.err != nil {
|
if e.err != nil {
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
EnvPrefix = "WINGMATE"
|
EnvPrefix = "WINGMATE"
|
||||||
ConfigPath = "config_path"
|
PathConfig = "config_path"
|
||||||
DefaultConfigPath = "/etc/wingmate"
|
DefaultConfigPath = "/etc/wingmate"
|
||||||
ServiceDirName = "service"
|
ServiceDirName = "service"
|
||||||
CrontabFileName = "crontab"
|
CrontabFileName = "crontab"
|
||||||
@ -30,7 +30,7 @@ const (
|
|||||||
VersionFlag = "version"
|
VersionFlag = "version"
|
||||||
WMPidProxyPathFlag = "pid-proxy"
|
WMPidProxyPathFlag = "pid-proxy"
|
||||||
WMExecPathFlag = "exec"
|
WMExecPathFlag = "exec"
|
||||||
ConfigPathFlag = "config"
|
PathConfigFlag = "config"
|
||||||
VersionCheckKey = "check-version"
|
VersionCheckKey = "check-version"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -83,10 +83,10 @@ func SetVersion(version string) {
|
|||||||
|
|
||||||
func Read() (*Config, error) {
|
func Read() (*Config, error) {
|
||||||
viper.SetEnvPrefix(EnvPrefix)
|
viper.SetEnvPrefix(EnvPrefix)
|
||||||
_ = viper.BindEnv(ConfigPath)
|
_ = viper.BindEnv(PathConfig)
|
||||||
_ = viper.BindEnv(PidProxyPathConfig)
|
_ = viper.BindEnv(PidProxyPathConfig)
|
||||||
_ = viper.BindEnv(ExecPathConfig)
|
_ = viper.BindEnv(ExecPathConfig)
|
||||||
viper.SetDefault(ConfigPath, DefaultConfigPath)
|
viper.SetDefault(PathConfig, DefaultConfigPath)
|
||||||
viper.SetDefault(PidProxyPathConfig, PidProxyPathDefault)
|
viper.SetDefault(PidProxyPathConfig, PidProxyPathDefault)
|
||||||
viper.SetDefault(ExecPathConfig, ExecPathDefault)
|
viper.SetDefault(ExecPathConfig, ExecPathDefault)
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ func Read() (*Config, error) {
|
|||||||
viperMtx: &sync.Mutex{},
|
viperMtx: &sync.Mutex{},
|
||||||
ServiceV0: make([]string, 0),
|
ServiceV0: make([]string, 0),
|
||||||
}
|
}
|
||||||
configPath := viper.GetString(ConfigPath)
|
configPath := viper.GetString(PathConfig)
|
||||||
svcdir = filepath.Join(configPath, ServiceDirName)
|
svcdir = filepath.Join(configPath, ServiceDirName)
|
||||||
dirent, err = os.ReadDir(svcdir)
|
dirent, err = os.ReadDir(svcdir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -23,7 +23,7 @@ func setup(t *testing.T) {
|
|||||||
if configDir, err = os.MkdirTemp("", "wingmate-*-test"); err != nil {
|
if configDir, err = os.MkdirTemp("", "wingmate-*-test"); err != nil {
|
||||||
t.Fatal("setup", err)
|
t.Fatal("setup", err)
|
||||||
}
|
}
|
||||||
viper.Set(ConfigPath, configDir)
|
viper.Set(PathConfig, configDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
func tear(t *testing.T) {
|
func tear(t *testing.T) {
|
||||||
|
|||||||
@ -12,12 +12,12 @@ func ParseFlags() {
|
|||||||
pflag.CountP(VersionFlag, "v", "check version")
|
pflag.CountP(VersionFlag, "v", "check version")
|
||||||
pflag.String(WMPidProxyPathFlag, "", "wmpidproxy path")
|
pflag.String(WMPidProxyPathFlag, "", "wmpidproxy path")
|
||||||
pflag.String(WMExecPathFlag, "", "wmexec path")
|
pflag.String(WMExecPathFlag, "", "wmexec path")
|
||||||
pflag.StringP(ConfigPathFlag, "c", "", "config path")
|
pflag.StringP(PathConfigFlag, "c", "", "config path")
|
||||||
|
|
||||||
pflag.Parse()
|
pflag.Parse()
|
||||||
|
|
||||||
_ = viper.BindPFlag(VersionCheckKey, pflag.CommandLine.Lookup(VersionFlag))
|
_ = viper.BindPFlag(VersionCheckKey, pflag.CommandLine.Lookup(VersionFlag))
|
||||||
_ = viper.BindPFlag(ConfigPath, pflag.CommandLine.Lookup(ConfigPathFlag))
|
_ = viper.BindPFlag(PathConfig, pflag.CommandLine.Lookup(PathConfigFlag))
|
||||||
_ = viper.BindPFlag(PidProxyPathConfig, pflag.CommandLine.Lookup(WMPidProxyPathFlag))
|
_ = viper.BindPFlag(PidProxyPathConfig, pflag.CommandLine.Lookup(WMPidProxyPathFlag))
|
||||||
_ = viper.BindPFlag(ExecPathConfig, pflag.CommandLine.Lookup(WMExecPathFlag))
|
_ = viper.BindPFlag(ExecPathConfig, pflag.CommandLine.Lookup(WMExecPathFlag))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user