X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsconfig%2Fconfig.go;h=335c1163e63ad65c994306f240fbe004659a6b63;hb=0a53346ecd92e1281587c724631fdf76dc756fc7;hp=0fc1346d694e28ded827fb5bf4f77c083f31548d;hpb=8119c1641e88ee5020e380c08119f508c6e24222;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go index 0fc1346..335c116 100644 --- a/lib/xdsconfig/config.go +++ b/lib/xdsconfig/config.go @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2017-2018 "IoT.bzh" + * Author Sebastien Douheret + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package xdsconfig import ( @@ -6,19 +23,16 @@ import ( "os" "path/filepath" + common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1" "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" - common "github.com/iotbzh/xds-common/golib" ) // Config parameters (json format) of /config command type Config struct { - ServerUID string `json:"id"` - Version string `json:"version"` - APIVersion string `json:"apiVersion"` - VersionGitTag string `json:"gitTag"` - SupportedSharing map[string]bool `json:"supportedSharing"` - Builder BuilderConfig `json:"builder"` + // Public APIConfig fields + xsapiv1.APIConfig // Private (un-exported fields in REST GET /config route) Options Options `json:"-"` @@ -37,11 +51,12 @@ type Options struct { // Config default values const ( - DefaultAPIVersion = "1" - DefaultPort = "8000" - DefaultShareDir = "${HOME}/.xds-server/projects" - DefaultSTHomeDir = "${HOME}/.xds-server/syncthing-config" - DefaultSdkRootDir = "/xdt/sdk" + DefaultAPIVersion = "1" + DefaultPort = "8000" + DefaultShareDir = "${HOME}/.xds/server/projects" + DefaultSTHomeDir = "${HOME}/.xds/server/syncthing-config" + DefaultSdkScriptsDir = "${EXEPATH}/sdks" + DefaultSdkDbUpdate = "startup" ) // Init loads the configuration on start-up @@ -57,6 +72,7 @@ func Init(cliCtx *cli.Context, log *logrus.Logger) (*Config, error) { dfltSTHomeDir = resDir } + // Retrieve Server ID (or create one the first time) uuid, err := ServerIDGet() if err != nil { return nil, err @@ -64,12 +80,14 @@ func Init(cliCtx *cli.Context, log *logrus.Logger) (*Config, error) { // Define default configuration c := Config{ - ServerUID: uuid, - Version: cliCtx.App.Metadata["version"].(string), - APIVersion: DefaultAPIVersion, - VersionGitTag: cliCtx.App.Metadata["git-tag"].(string), - Builder: BuilderConfig{}, - SupportedSharing: map[string]bool{ /*FIXME USE folder.TypePathMap*/ "PathMap": true}, + APIConfig: xsapiv1.APIConfig{ + ServerUID: uuid, + Version: cliCtx.App.Metadata["version"].(string), + APIVersion: DefaultAPIVersion, + VersionGitTag: cliCtx.App.Metadata["git-tag"].(string), + Builder: xsapiv1.BuilderConfig{}, + SupportedSharing: map[string]bool{ /*FIXME USE folder.TypePathMap*/ "PathMap": true}, + }, Options: Options{ ConfigFile: cliCtx.GlobalString("config"), @@ -78,12 +96,13 @@ func Init(cliCtx *cli.Context, log *logrus.Logger) (*Config, error) { NoFolderConfig: cliCtx.GlobalBool("no-folderconfig"), }, FileConf: FileConfig{ - WebAppDir: "webapp/dist", - ShareRootDir: dfltShareDir, - SdkRootDir: DefaultSdkRootDir, - HTTPPort: DefaultPort, - SThgConf: &SyncThingConf{Home: dfltSTHomeDir}, - LogsDir: "", + WebAppDir: "webapp/dist", + ShareRootDir: dfltShareDir, + SdkScriptsDir: DefaultSdkScriptsDir, + SdkDbUpdate: DefaultSdkDbUpdate, + HTTPPort: DefaultPort, + SThgConf: &SyncThingConf{Home: dfltSTHomeDir}, + LogsDir: "", }, Log: log, }