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

@ -23,11 +23,10 @@ type execApp struct {
} }
const ( const (
setsidFlag = "setsid" setsidFlag = "setsid"
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))