summaryrefslogtreecommitdiffstats
path: root/lib/agent/apiv1-config.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/agent/apiv1-config.go')
-rw-r--r--lib/agent/apiv1-config.go32
1 files changed, 6 insertions, 26 deletions
diff --git a/lib/agent/apiv1-config.go b/lib/agent/apiv1-config.go
index 31d8de6..2197720 100644
--- a/lib/agent/apiv1-config.go
+++ b/lib/agent/apiv1-config.go
@@ -5,33 +5,13 @@ import (
"sync"
"github.com/gin-gonic/gin"
+ "github.com/iotbzh/xds-agent/lib/apiv1"
"github.com/iotbzh/xds-agent/lib/xdsconfig"
common "github.com/iotbzh/xds-common/golib"
)
var confMut sync.Mutex
-// APIConfig parameters (json format) of /config command
-type APIConfig struct {
- Servers []ServerCfg `json:"servers"`
-
- // Not exposed outside in JSON
- Version string `json:"-"`
- APIVersion string `json:"-"`
- VersionGitTag string `json:"-"`
-}
-
-// ServerCfg .
-type ServerCfg struct {
- ID string `json:"id"`
- URL string `json:"url"`
- APIURL string `json:"apiUrl"`
- PartialURL string `json:"partialUrl"`
- ConnRetry int `json:"connRetry"`
- Connected bool `json:"connected"`
- Disabled bool `json:"disabled"`
-}
-
// GetConfig returns the configuration
func (s *APIService) getConfig(c *gin.Context) {
confMut.Lock()
@@ -44,7 +24,7 @@ func (s *APIService) getConfig(c *gin.Context) {
// SetConfig sets configuration
func (s *APIService) setConfig(c *gin.Context) {
- var cfgArg APIConfig
+ var cfgArg apiv1.APIConfig
if c.BindJSON(&cfgArg) != nil {
common.APIError(c, "Invalid arguments")
return
@@ -85,16 +65,16 @@ func (s *APIService) setConfig(c *gin.Context) {
c.JSON(http.StatusOK, s._getConfig())
}
-func (s *APIService) _getConfig() APIConfig {
- cfg := APIConfig{
+func (s *APIService) _getConfig() apiv1.APIConfig {
+ cfg := apiv1.APIConfig{
Version: s.Config.Version,
APIVersion: s.Config.APIVersion,
VersionGitTag: s.Config.VersionGitTag,
- Servers: []ServerCfg{},
+ Servers: []apiv1.ServerCfg{},
}
for _, svr := range s.xdsServers {
- cfg.Servers = append(cfg.Servers, ServerCfg{
+ cfg.Servers = append(cfg.Servers, apiv1.ServerCfg{
ID: svr.ID,
URL: svr.BaseURL,
APIURL: svr.APIURL,