mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-08-10 13:20:33 +02:00
cmd/cli: change socket dir to /var/run on *nix
This commit is contained in:
+28
-7
@@ -206,7 +206,11 @@ func initCLI() {
|
|||||||
defaultConfigFile = filepath.Join(dir, defaultConfigFile)
|
defaultConfigFile = filepath.Join(dir, defaultConfigFile)
|
||||||
}
|
}
|
||||||
sc.Arguments = append(sc.Arguments, "--homedir="+dir)
|
sc.Arguments = append(sc.Arguments, "--homedir="+dir)
|
||||||
sockPath := filepath.Join(dir, ctrldLogUnixSock)
|
sockDir := dir
|
||||||
|
if d, err := socketDir(); err == nil {
|
||||||
|
sockDir = d
|
||||||
|
}
|
||||||
|
sockPath := filepath.Join(sockDir, ctrldLogUnixSock)
|
||||||
_ = os.Remove(sockPath)
|
_ = os.Remove(sockPath)
|
||||||
go func() {
|
go func() {
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -393,7 +397,7 @@ func initCLI() {
|
|||||||
{s.Start, true},
|
{s.Start, true},
|
||||||
}
|
}
|
||||||
if doTasks(tasks) {
|
if doTasks(tasks) {
|
||||||
dir, err := userHomeDir()
|
dir, err := socketDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mainLog.Load().Warn().Err(err).Msg("Service was restarted, but could not ping the control server")
|
mainLog.Load().Warn().Err(err).Msg("Service was restarted, but could not ping the control server")
|
||||||
return
|
return
|
||||||
@@ -416,7 +420,7 @@ func initCLI() {
|
|||||||
Short: "Reload the ctrld service",
|
Short: "Reload the ctrld service",
|
||||||
Args: cobra.NoArgs,
|
Args: cobra.NoArgs,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
dir, err := userHomeDir()
|
dir, err := socketDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mainLog.Load().Fatal().Err(err).Msg("failed to find ctrld home dir")
|
mainLog.Load().Fatal().Err(err).Msg("failed to find ctrld home dir")
|
||||||
}
|
}
|
||||||
@@ -688,7 +692,7 @@ NOTE: Uninstalling will set DNS to values provided by DHCP.`,
|
|||||||
checkHasElevatedPrivilege()
|
checkHasElevatedPrivilege()
|
||||||
},
|
},
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
dir, err := userHomeDir()
|
dir, err := socketDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mainLog.Load().Fatal().Err(err).Msg("failed to find ctrld home dir")
|
mainLog.Load().Fatal().Err(err).Msg("failed to find ctrld home dir")
|
||||||
}
|
}
|
||||||
@@ -790,7 +794,11 @@ func run(appCallback *AppCallback, stopCh chan struct{}) {
|
|||||||
homedir = dir
|
homedir = dir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sockPath := filepath.Join(homedir, ctrldLogUnixSock)
|
sockDir := homedir
|
||||||
|
if d, err := socketDir(); err == nil {
|
||||||
|
sockDir = d
|
||||||
|
}
|
||||||
|
sockPath := filepath.Join(sockDir, ctrldLogUnixSock)
|
||||||
if addr, err := net.ResolveUnixAddr("unix", sockPath); err == nil {
|
if addr, err := net.ResolveUnixAddr("unix", sockPath); err == nil {
|
||||||
if conn, err := net.Dial(addr.Network(), addr.String()); err == nil {
|
if conn, err := net.Dial(addr.Network(), addr.String()); err == nil {
|
||||||
lc := &logConn{conn: conn}
|
lc := &logConn{conn: conn}
|
||||||
@@ -842,7 +850,7 @@ func run(appCallback *AppCallback, stopCh chan struct{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p.router = router.New(&cfg, cdUID != "")
|
p.router = router.New(&cfg, cdUID != "")
|
||||||
cs, err := newControlServer(filepath.Join(homedir, ctrldControlUnixSock))
|
cs, err := newControlServer(filepath.Join(sockDir, ctrldControlUnixSock))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mainLog.Load().Warn().Err(err).Msg("could not create control server")
|
mainLog.Load().Warn().Err(err).Msg("could not create control server")
|
||||||
}
|
}
|
||||||
@@ -1295,7 +1303,7 @@ func selfCheckStatus(s service.Service) service.Status {
|
|||||||
if status != service.StatusRunning {
|
if status != service.StatusRunning {
|
||||||
return status
|
return status
|
||||||
}
|
}
|
||||||
dir, err := userHomeDir()
|
dir, err := socketDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mainLog.Load().Error().Err(err).Msg("failed to check ctrld listener status: could not get home directory")
|
mainLog.Load().Error().Err(err).Msg("failed to check ctrld listener status: could not get home directory")
|
||||||
return service.StatusUnknown
|
return service.StatusUnknown
|
||||||
@@ -1447,6 +1455,19 @@ func userHomeDir() (string, error) {
|
|||||||
return dir, nil
|
return dir, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// socketDir returns directory that ctrld will create socket file for running controlServer.
|
||||||
|
func socketDir() (string, error) {
|
||||||
|
switch {
|
||||||
|
case runtime.GOOS == "windows", isMobile():
|
||||||
|
return userHomeDir()
|
||||||
|
}
|
||||||
|
dir := "/var/run"
|
||||||
|
if ok, _ := dirWritable(dir); !ok {
|
||||||
|
return userHomeDir()
|
||||||
|
}
|
||||||
|
return dir, nil
|
||||||
|
}
|
||||||
|
|
||||||
// tryReadingConfig is like tryReadingConfigWithNotice, with notice set to false.
|
// tryReadingConfig is like tryReadingConfigWithNotice, with notice set to false.
|
||||||
func tryReadingConfig(writeDefaultConfig bool) {
|
func tryReadingConfig(writeDefaultConfig bool) {
|
||||||
tryReadingConfigWithNotice(writeDefaultConfig, false)
|
tryReadingConfigWithNotice(writeDefaultConfig, false)
|
||||||
|
|||||||
Reference in New Issue
Block a user