From 963931e04d44a5b40d38817163f52f56241a9f33 Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Mon, 11 Dec 2017 11:09:35 +0100 Subject: [PATCH] Standardized XDS config file name and location. - 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 --- Makefile | 15 +++++++------- conf.d/etc/default/xds-server | 2 +- .../config.json => xds/server/server-config.json} | 4 ++-- conf.d/usr/lib/systemd/user/xds-server.service | 4 +--- config.json.in | 12 ----------- lib/syncthing/st.go | 2 +- lib/xdsconfig/config.go | 4 ++-- lib/xdsconfig/fileconfig.go | 24 +++++++++++----------- lib/xdsserver/apiv1-exec.go | 2 +- lib/xdsserver/xdsserver.go | 2 +- scripts/{ => xds-utils}/xds-server-start.sh | 0 scripts/{ => xds-utils}/xds-server-stop.sh | 0 12 files changed, 28 insertions(+), 43 deletions(-) rename conf.d/etc/{xds-server/config.json => xds/server/server-config.json} (61%) delete mode 100644 config.json.in rename scripts/{ => xds-utils}/xds-server-start.sh (100%) rename scripts/{ => xds-utils}/xds-server-stop.sh (100%) diff --git a/Makefile b/Makefile index 39ab93b..86107f1 100644 --- 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) diff --git a/conf.d/etc/default/xds-server b/conf.d/etc/default/xds-server index 0c82849..4bf2ae6 100644 --- a/conf.d/etc/default/xds-server +++ b/conf.d/etc/default/xds-server @@ -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 diff --git a/conf.d/etc/xds-server/config.json b/conf.d/etc/xds/server/server-config.json 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 --- a/conf.d/etc/xds-server/config.json +++ b/conf.d/etc/xds/server/server-config.json @@ -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" } } diff --git a/conf.d/usr/lib/systemd/user/xds-server.service b/conf.d/usr/lib/systemd/user/xds-server.service index 0175d29..0dac9d6 100644 --- a/conf.d/usr/lib/systemd/user/xds-server.service +++ b/conf.d/usr/lib/systemd/user/xds-server.service @@ -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 index ac2f891..0000000 --- a/config.json.in +++ /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" - } -} diff --git a/lib/syncthing/st.go b/lib/syncthing/st.go index 2db4699..a52e1fe 100644 --- a/lib/syncthing/st.go +++ b/lib/syncthing/st.go @@ -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() diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go index 8ee6803..59cf394 100644 --- a/lib/xdsconfig/config.go +++ b/lib/xdsconfig/config.go @@ -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" ) diff --git a/lib/xdsconfig/fileconfig.go b/lib/xdsconfig/fileconfig.go index ee9ca14..8e77de7 100644 --- a/lib/xdsconfig/fileconfig.go +++ b/lib/xdsconfig/fileconfig.go @@ -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/ /config.json file +// 2/ $HOME/.xds/server/server-config.json file +// 3/ /etc/xds/server/server-config.json file +// 4/ /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, diff --git a/lib/xdsserver/apiv1-exec.go b/lib/xdsserver/apiv1-exec.go index 47e85ea..bc45fdb 100644 --- a/lib/xdsserver/apiv1-exec.go +++ b/lib/xdsserver/apiv1-exec.go @@ -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 diff --git a/lib/xdsserver/xdsserver.go b/lib/xdsserver/xdsserver.go index 5079553..64041b9 100644 --- a/lib/xdsserver/xdsserver.go +++ b/lib/xdsserver/xdsserver.go @@ -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) } diff --git a/scripts/xds-server-start.sh b/scripts/xds-utils/xds-server-start.sh similarity index 100% rename from scripts/xds-server-start.sh rename to scripts/xds-utils/xds-server-start.sh diff --git a/scripts/xds-server-stop.sh b/scripts/xds-utils/xds-server-stop.sh similarity index 100% rename from scripts/xds-server-stop.sh rename to scripts/xds-utils/xds-server-stop.sh -- 2.16.6