mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 16:33:47 +03:00
add option -initonly to "mox localserve", to only create config files and then quit
for issue #89 by naturalethic
This commit is contained in:
parent
9896639ff9
commit
81057ee685
2 changed files with 16 additions and 0 deletions
2
doc.go
2
doc.go
|
@ -346,6 +346,8 @@ during those commands instead of during "data".
|
||||||
usage: mox localserve
|
usage: mox localserve
|
||||||
-dir string
|
-dir string
|
||||||
configuration storage directory (default "$userconfigdir/mox-localserve")
|
configuration storage directory (default "$userconfigdir/mox-localserve")
|
||||||
|
-initonly
|
||||||
|
write configuration files and exit
|
||||||
-ip string
|
-ip string
|
||||||
serve on this ip instead of default 127.0.0.1 and ::1. only used when writing configuration, at first launch.
|
serve on this ip instead of default 127.0.0.1 and ::1. only used when writing configuration, at first launch.
|
||||||
|
|
||||||
|
|
|
@ -66,8 +66,10 @@ during those commands instead of during "data".
|
||||||
}
|
}
|
||||||
|
|
||||||
var dir, ip string
|
var dir, ip string
|
||||||
|
var initOnly bool
|
||||||
c.flag.StringVar(&dir, "dir", filepath.Join(userConfDir, "mox-localserve"), "configuration storage directory")
|
c.flag.StringVar(&dir, "dir", filepath.Join(userConfDir, "mox-localserve"), "configuration storage directory")
|
||||||
c.flag.StringVar(&ip, "ip", "", "serve on this ip instead of default 127.0.0.1 and ::1. only used when writing configuration, at first launch.")
|
c.flag.StringVar(&ip, "ip", "", "serve on this ip instead of default 127.0.0.1 and ::1. only used when writing configuration, at first launch.")
|
||||||
|
c.flag.BoolVar(&initOnly, "initonly", false, "write configuration files and exit")
|
||||||
args := c.Parse()
|
args := c.Parse()
|
||||||
if len(args) != 0 {
|
if len(args) != 0 {
|
||||||
c.Usage()
|
c.Usage()
|
||||||
|
@ -77,6 +79,18 @@ during those commands instead of during "data".
|
||||||
|
|
||||||
mox.FilesImmediate = true
|
mox.FilesImmediate = true
|
||||||
|
|
||||||
|
if initOnly {
|
||||||
|
if _, err := os.Stat(dir); err == nil {
|
||||||
|
log.Print("warning: directory for configuration files already exists, continuing")
|
||||||
|
}
|
||||||
|
log.Print("creating mox localserve config", mlog.Field("dir", dir))
|
||||||
|
err := writeLocalConfig(log, dir, ip)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalx("creating mox localserve config", err, mlog.Field("dir", dir))
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Load config, creating a new one if needed.
|
// Load config, creating a new one if needed.
|
||||||
var existingConfig bool
|
var existingConfig bool
|
||||||
if _, err := os.Stat(dir); err != nil && os.IsNotExist(err) {
|
if _, err := os.Stat(dir); err != nil && os.IsNotExist(err) {
|
||||||
|
|
Loading…
Reference in a new issue