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) {
cmd.PersistentFlags().Count(versionFlag, "print version")
viper.SetDefault(versionFlag, false)
cmd.PersistentFlags().Bool(versionFlag, false, "print version")
_ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag))
}

View File

@ -23,11 +23,10 @@ type execApp struct {
}
const (
setsidFlag = "setsid"
EnvSetsid = "SETSID"
userFlag = "user"
EnvUser = "USER"
versionFlag = "version"
setsidFlag = "setsid"
EnvSetsid = "SETSID"
userFlag = "user"
EnvUser = "USER"
)
var (
@ -56,16 +55,16 @@ func main() {
}
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]\"")
viper.BindPFlag(EnvUser, rootCmd.PersistentFlags().Lookup(userFlag))
_ = viper.BindPFlag(EnvUser, rootCmd.PersistentFlags().Lookup(userFlag))
app.version.Flag(rootCmd)
viper.SetEnvPrefix(wingmate.EnvPrefix)
viper.BindEnv(EnvUser)
viper.BindEnv(EnvSetsid)
_ = viper.BindEnv(EnvUser)
_ = viper.BindEnv(EnvSetsid)
viper.SetDefault(EnvSetsid, false)
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()
if e.err != nil {

View File

@ -15,7 +15,7 @@ import (
const (
EnvPrefix = "WINGMATE"
ConfigPath = "config_path"
PathConfig = "config_path"
DefaultConfigPath = "/etc/wingmate"
ServiceDirName = "service"
CrontabFileName = "crontab"
@ -30,7 +30,7 @@ const (
VersionFlag = "version"
WMPidProxyPathFlag = "pid-proxy"
WMExecPathFlag = "exec"
ConfigPathFlag = "config"
PathConfigFlag = "config"
VersionCheckKey = "check-version"
)
@ -83,10 +83,10 @@ func SetVersion(version string) {
func Read() (*Config, error) {
viper.SetEnvPrefix(EnvPrefix)
_ = viper.BindEnv(ConfigPath)
_ = viper.BindEnv(PathConfig)
_ = viper.BindEnv(PidProxyPathConfig)
_ = viper.BindEnv(ExecPathConfig)
viper.SetDefault(ConfigPath, DefaultConfigPath)
viper.SetDefault(PathConfig, DefaultConfigPath)
viper.SetDefault(PidProxyPathConfig, PidProxyPathDefault)
viper.SetDefault(ExecPathConfig, ExecPathDefault)
@ -109,7 +109,7 @@ func Read() (*Config, error) {
viperMtx: &sync.Mutex{},
ServiceV0: make([]string, 0),
}
configPath := viper.GetString(ConfigPath)
configPath := viper.GetString(PathConfig)
svcdir = filepath.Join(configPath, ServiceDirName)
dirent, err = os.ReadDir(svcdir)
if err != nil {

View File

@ -23,7 +23,7 @@ func setup(t *testing.T) {
if configDir, err = os.MkdirTemp("", "wingmate-*-test"); err != nil {
t.Fatal("setup", err)
}
viper.Set(ConfigPath, configDir)
viper.Set(PathConfig, configDir)
}
func tear(t *testing.T) {

View File

@ -12,12 +12,12 @@ func ParseFlags() {
pflag.CountP(VersionFlag, "v", "check version")
pflag.String(WMPidProxyPathFlag, "", "wmpidproxy path")
pflag.String(WMExecPathFlag, "", "wmexec path")
pflag.StringP(ConfigPathFlag, "c", "", "config path")
pflag.StringP(PathConfigFlag, "c", "", "config path")
pflag.Parse()
_ = 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(ExecPathConfig, pflag.CommandLine.Lookup(WMExecPathFlag))