switch workstation

This commit is contained in:
Suyono 2024-09-19 15:58:58 +10:00
parent a0dad29950
commit dc6d575fae
5 changed files with 19 additions and 19 deletions

View File

@ -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))
} }

View File

@ -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 {

View File

@ -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 {

View File

@ -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) {

View File

@ -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))