Standardized XDS config file name and location.
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Mon, 11 Dec 2017 10:09:35 +0000 (11:09 +0100)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Mon, 11 Dec 2017 14:49:30 +0000 (15:49 +0100)
- config file name is :  server-config.json
- xds-server settings under user's home is:  $HOME/.xds/server
- xds-server settings under etc is: /etc/xds/server

Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
12 files changed:
Makefile
conf.d/etc/default/xds-server
conf.d/etc/xds/server/server-config.json [moved from conf.d/etc/xds-server/config.json with 61% similarity]
conf.d/usr/lib/systemd/user/xds-server.service
config.json.in [deleted file]
lib/syncthing/st.go
lib/xdsconfig/config.go
lib/xdsconfig/fileconfig.go
lib/xdsserver/apiv1-exec.go
lib/xdsserver/xdsserver.go
scripts/xds-utils/xds-server-start.sh [moved from scripts/xds-server-start.sh with 100% similarity]
scripts/xds-utils/xds-server-stop.sh [moved from scripts/xds-server-stop.sh with 100% similarity]

index 39ab93b..86107f1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -126,10 +126,10 @@ fmt: tools/glide
        go fmt $(shell $(LOCAL_TOOLSDIR)/glide novendor)
 
 run: build/xds tools/syncthing/copytobin
-       $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log info -c config.json.in
+       $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log info $(XDS_SERVER_RUN_ARS)
 
 debug: build/xds tools/syncthing/copytobin
-       $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log debug -c config.json.in
+       $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log debug $(XDS_SERVER_DEBUG_ARGS)
 
 .PHONY: clean
 clean:
@@ -149,19 +149,18 @@ webapp/install:
 
 .PHONY: scripts
 scripts:
-       @mkdir -p $(LOCAL_BINDIR) && cp -rf scripts/xds-server-st*.sh scripts/xds-utils $(LOCAL_BINDIR)
+       @mkdir -p $(LOCAL_BINDIR) && cp -rf scripts/xds-utils $(LOCAL_BINDIR)
 
 .PHONY: conffile
 conffile:
-       cat config.json.in \
-               | sed -e s,"webapp/dist","$(DESTDIR_WWW)",g \
-               | sed -e s,"\./bin","",g \
-                > $(DESTDIR)/config.json.in
+       cat $(ROOT_SRCDIR)/conf.d/etc/xds/server/server-config.json \
+               | sed -e s,"www","$(DESTDIR_WWW)",g \
+                > $(DESTDIR)/server-config.json.in
 
 .PHONY: install
 install:
        @test -e $(LOCAL_BINDIR)/xds-server$(EXT) -a -d webapp/dist || { echo "Please execute first: make all\n"; exit 1; }
-       @test -e $(LOCAL_BINDIR)/xds-server-start.sh -a -d $(LOCAL_BINDIR)/xds-utils || { echo "Please execute first: make all\n"; exit 1; }
+       @test -d $(LOCAL_BINDIR)/xds-utils || { echo "Please execute first: make all\n"; exit 1; }
        @test -e $(LOCAL_BINDIR)/syncthing$(EXT) -a -e $(LOCAL_BINDIR)/syncthing-inotify$(EXT) || { echo "Please execute first: make all\n"; exit 1; }
        mkdir -p $(DESTDIR) \
                && cp -a $(LOCAL_BINDIR)/* $(DESTDIR)
index 0c82849..4bf2ae6 100644 (file)
@@ -2,7 +2,7 @@
 # this file is used for service environment in /usr/lib/systemd/user/xds-server.service
 
 # JSON config file to use
-#APP_CONFIG=${HOME}/.config/xds/server/config.json
+#APP_CONFIG=${HOME}/.xds/server/server-config.json
 
 # Logging level (supported levels: panic, fatal, error, warn, info, debug)
 LOG_LEVEL=info
similarity index 61%
rename from conf.d/etc/xds-server/config.json
rename to conf.d/etc/xds/server/server-config.json
index 4dbe501..5562bb3 100644 (file)
@@ -1,11 +1,11 @@
 {
     "webAppDir": "www",
     "httpPort": "8000",
-    "shareRootDir": "${HOME}/.xds-server/projects",
+    "shareRootDir": "${HOME}/.xds/server/projects",
     "sdkRootDir": "/xdt/sdk",
     "syncthing": {
         "binDir": "",
-        "home": "${HOME}/.xds-server/syncthing-config",
+        "home": "${HOME}/.xds/server/syncthing-config",
         "gui-address": "http://localhost:8385"
     }
 }
index 0175d29..0dac9d6 100644 (file)
@@ -2,10 +2,8 @@
 Description=XDS Server
 
 [Service]
-Type=forking
 EnvironmentFile=-/etc/default/xds-server
-ExecStart=/opt/AGL/xds/server/xds-server-start.sh
-ExecStop=/opt/AGL/xds/server/xds-server-stop.sh
+ExecStart=/opt/AGL/bin/xds-server
 
 [Install]
 WantedBy=default.target
diff --git a/config.json.in b/config.json.in
deleted file mode 100644 (file)
index ac2f891..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    "webAppDir": "www",
-    "httpPort": "8000",
-    "shareRootDir": "${HOME}/.xds-server/projects",
-    "logsDir": "/tmp/xds-server/logs",
-    "sdkRootDir": "/xdt/sdk",
-    "syncthing": {
-        "binDir": "./bin",
-        "home": "${HOME}/.xds-server/syncthing-config",
-        "gui-address": "http://localhost:8385"
-    }
-}
index 2db4699..a52e1fe 100644 (file)
@@ -249,7 +249,7 @@ func (s *SyncThing) Start() (*exec.Cmd, error) {
 
        s.STCmd, err = s.startProc("syncthing", args, env, &s.exitSTChan)
 
-       // Use autogenerated apikey if not set by config.json
+       // Use autogenerated apikey if not set by server-config.json
        if err == nil && s.APIKey == "" {
                if fd, err := os.Open(filepath.Join(s.Home, "config.xml")); err == nil {
                        defer fd.Close()
index 8ee6803..59cf394 100644 (file)
@@ -53,8 +53,8 @@ type Options struct {
 const (
        DefaultAPIVersion = "1"
        DefaultPort       = "8000"
-       DefaultShareDir   = "${HOME}/.xds-server/projects"
-       DefaultSTHomeDir  = "${HOME}/.xds-server/syncthing-config"
+       DefaultShareDir   = "${HOME}/.xds/server/projects"
+       DefaultSTHomeDir  = "${HOME}/.xds/server/syncthing-config"
        DefaultSdkRootDir = "/xdt/sdk"
 )
 
index ee9ca14..8e77de7 100644 (file)
@@ -28,11 +28,12 @@ import (
        common "github.com/iotbzh/xds-common/golib"
 )
 
+// ConfigDir Directory in user HOME directory where xds config will be saved
+var ConfigDir = path.Join(".xds", "server")
+
 const (
-       // ConfigDir Directory in user HOME directory where xds config will be saved
-       ConfigDir = ".xds-server"
        // GlobalConfigFilename Global config filename
-       GlobalConfigFilename = "config.json"
+       GlobalConfigFilename = "server-config.json"
        // ServerDataFilename Server data filename
        ServerDataFilename = "server-data.xml"
        // FoldersConfigFilename Folders config filename
@@ -48,7 +49,7 @@ type SyncThingConf struct {
        RescanIntervalS int    `json:"rescanIntervalS"`
 }
 
-// FileConfig is the JSON structure of xds-server config file (config.json)
+// FileConfig is the JSON structure of xds-server config file (server-config.json)
 type FileConfig struct {
        WebAppDir    string         `json:"webAppDir"`
        ShareRootDir string         `json:"shareRootDir"`
@@ -61,9 +62,9 @@ type FileConfig struct {
 // readGlobalConfig reads configuration from a config file.
 // Order to determine which config file is used:
 //  1/ from command line option: "--config myConfig.json"
-//  2/ $HOME/.xds-server/config.json file
-//  3/ /etc/xds-server/config.json file
-//  4/ <xds-server executable dir>/config.json file
+//  2/ $HOME/.xds/server/server-config.json file
+//  3/ /etc/xds/server/server-config.json file
+//  4/ <xds-server executable dir>/server-config.json file
 func readGlobalConfig(c *Config, confFile string) error {
 
        searchIn := make([]string, 0, 3)
@@ -71,11 +72,10 @@ func readGlobalConfig(c *Config, confFile string) error {
                searchIn = append(searchIn, confFile)
        }
        if usr, err := user.Current(); err == nil {
-               searchIn = append(searchIn, path.Join(usr.HomeDir, ConfigDir,
-                       GlobalConfigFilename))
+               searchIn = append(searchIn, path.Join(usr.HomeDir, ConfigDir, GlobalConfigFilename))
        }
 
-       searchIn = append(searchIn, "/etc/xds-server/config.json")
+       searchIn = append(searchIn, "/etc/xds/server/server-config.json")
 
        exePath := os.Args[0]
        ee, _ := os.Executable()
@@ -88,7 +88,7 @@ func readGlobalConfig(c *Config, confFile string) error {
                        exePath = filepath.Dir(exeAbsPath)
                }
        }
-       searchIn = append(searchIn, path.Join(exePath, "config.json"))
+       searchIn = append(searchIn, path.Join(exePath, "server-config.json"))
 
        var cFile *string
        for _, p := range searchIn {
@@ -113,7 +113,7 @@ func readGlobalConfig(c *Config, confFile string) error {
                return err
        }
 
-       // Support environment variables (IOW ${MY_ENV_VAR} syntax) in config.json
+       // Support environment variables (IOW ${MY_ENV_VAR} syntax) in server-config.json
        vars := []*string{
                &fCfg.WebAppDir,
                &fCfg.ShareRootDir,
index 47e85ea..bc45fdb 100644 (file)
@@ -143,7 +143,7 @@ func (s *APIService) execCmd(c *gin.Context) {
        // Set command execution timeout
        if args.CmdTimeout == 0 {
                // 0 : default timeout
-               // TODO get default timeout from config.json file
+               // TODO get default timeout from server-config.json file
                execWS.CmdExecTimeout = 24 * 60 * 60 // 1 day
        } else {
                execWS.CmdExecTimeout = args.CmdTimeout
index 5079553..64041b9 100644 (file)
@@ -128,7 +128,7 @@ func (ctx *Context) Run() (int, error) {
                ctx._logPrint("Logging file for HTTP requests:  %s\n", logFileHTTPReq)
        }
 
-       // Create syncthing instance when section "syncthing" is present in config.json
+       // Create syncthing instance when section "syncthing" is present in server-config.json
        if ctx.Config.FileConf.SThgConf != nil {
                ctx.SThg = st.NewSyncThing(ctx.Config, ctx.Log)
        }