New dynamic URL match
This commit is contained in:
@@ -20,6 +20,13 @@ type Config struct {
|
|||||||
Whitelist bool
|
Whitelist bool
|
||||||
PrivateKeyPath string
|
PrivateKeyPath string
|
||||||
PublicKeyPath string
|
PublicKeyPath string
|
||||||
|
|
||||||
|
InternalCatalogAPI string
|
||||||
|
InternalSharedAPI string
|
||||||
|
InternalWorkflowAPI string
|
||||||
|
InternalWorkspaceAPI string
|
||||||
|
InternalPeerAPI string
|
||||||
|
InternalDatacenterAPI string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c Config) GetUrl() string {
|
func (c Config) GetUrl() string {
|
||||||
@@ -40,7 +47,9 @@ func GetConfig() *Config {
|
|||||||
return instance
|
return instance
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int, pkPath, ppPath string) *Config {
|
func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int,
|
||||||
|
pkPath, ppPath,
|
||||||
|
internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI string) *Config {
|
||||||
GetConfig().MongoUrl = mongoUrl
|
GetConfig().MongoUrl = mongoUrl
|
||||||
GetConfig().MongoDatabase = database
|
GetConfig().MongoDatabase = database
|
||||||
GetConfig().NATSUrl = natsUrl
|
GetConfig().NATSUrl = natsUrl
|
||||||
@@ -50,5 +59,12 @@ func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string,
|
|||||||
GetConfig().APIPort = port
|
GetConfig().APIPort = port
|
||||||
GetConfig().PrivateKeyPath = pkPath
|
GetConfig().PrivateKeyPath = pkPath
|
||||||
GetConfig().PublicKeyPath = ppPath
|
GetConfig().PublicKeyPath = ppPath
|
||||||
|
|
||||||
|
GetConfig().InternalCatalogAPI = internalCatalogAPI
|
||||||
|
GetConfig().InternalSharedAPI = internalSharedAPI
|
||||||
|
GetConfig().InternalWorkflowAPI = internalWorkflowAPI
|
||||||
|
GetConfig().InternalWorkspaceAPI = internalWorkspaceAPI
|
||||||
|
GetConfig().InternalPeerAPI = internalPeerAPI
|
||||||
|
GetConfig().InternalDatacenterAPI = internalDatacenterAPI
|
||||||
return GetConfig()
|
return GetConfig()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ func GenerateNodeID() (string, error) {
|
|||||||
|
|
||||||
// will turn into standards api hostnames
|
// will turn into standards api hostnames
|
||||||
func (d LibDataEnum) API() string {
|
func (d LibDataEnum) API() string {
|
||||||
return tools.DefaultAPI[d]
|
return tools.DefaultAPI[d]()
|
||||||
}
|
}
|
||||||
|
|
||||||
// will turn into standards name
|
// will turn into standards name
|
||||||
@@ -151,6 +151,13 @@ func InitDaemon(appName string) {
|
|||||||
o.GetIntDefault("API_PORT", 8080),
|
o.GetIntDefault("API_PORT", 8080),
|
||||||
o.GetStringDefault("PUBLIC_KEY_PATH", "./pem/public.pem"),
|
o.GetStringDefault("PUBLIC_KEY_PATH", "./pem/public.pem"),
|
||||||
o.GetStringDefault("PRIVATE_KEY_PATH", "./pem/private.pem"),
|
o.GetStringDefault("PRIVATE_KEY_PATH", "./pem/private.pem"),
|
||||||
|
|
||||||
|
o.GetStringDefault("INTERNAL_CATALOG_API", "oc-catalog"),
|
||||||
|
o.GetStringDefault("INTERNAL_SHARED_API", "oc-shared"),
|
||||||
|
o.GetStringDefault("INTERNAL_WORKFLOW_API", "oc-workflow"),
|
||||||
|
o.GetStringDefault("INTERNAL_WORKSPACE_API", "oc-workspace"),
|
||||||
|
o.GetStringDefault("INTERNAL_PEER_API", "oc-peer"),
|
||||||
|
o.GetStringDefault("INTERNAL_DATACENTER_API", "oc-datacenter"),
|
||||||
)
|
)
|
||||||
// Beego init
|
// Beego init
|
||||||
beego.BConfig.AppName = appName
|
beego.BConfig.AppName = appName
|
||||||
@@ -238,8 +245,10 @@ func GetLogger() zerolog.Logger {
|
|||||||
* @param logLevel string
|
* @param logLevel string
|
||||||
* @return *Config
|
* @return *Config
|
||||||
*/
|
*/
|
||||||
func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int, pkpath string, pppath string) *config.Config {
|
func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string,
|
||||||
cfg := config.SetConfig(mongoUrl, database, natsUrl, lokiUrl, logLevel, port, pkpath, pppath)
|
port int, pkpath string, pppath string,
|
||||||
|
internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI string) *config.Config {
|
||||||
|
cfg := config.SetConfig(mongoUrl, database, natsUrl, lokiUrl, logLevel, port, pkpath, pppath, internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
tools.UncatchedError = append(tools.UncatchedError, errors.New("Panic recovered in Init : "+fmt.Sprintf("%v", r)+" - "+string(debug.Stack())))
|
tools.UncatchedError = append(tools.UncatchedError, errors.New("Panic recovered in Init : "+fmt.Sprintf("%v", r)+" - "+string(debug.Stack())))
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ func CheckPeerStatus(peerID string, appName string) (*Peer, bool) {
|
|||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
url := urlFormat(res.(*Peer).APIUrl, tools.PEER) + "/status" // Format the URL
|
url := urlFormat(res.(*Peer).APIUrl, tools.PEER) + "/status" // Format the URL
|
||||||
|
fmt.Println(url)
|
||||||
state, services := api.CheckRemotePeer(url)
|
state, services := api.CheckRemotePeer(url)
|
||||||
res.(*Peer).ServicesState = services // Update the services states of the peer
|
res.(*Peer).ServicesState = services // Update the services states of the peer
|
||||||
access.UpdateOne(res, peerID) // Update the peer in the db
|
access.UpdateOne(res, peerID) // Update the peer in the db
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
package tools
|
package tools
|
||||||
|
|
||||||
import "strings"
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"cloud.o-forge.io/core/oc-lib/config"
|
||||||
|
)
|
||||||
|
|
||||||
type DataType int
|
type DataType int
|
||||||
|
|
||||||
@@ -36,23 +40,51 @@ const (
|
|||||||
NATIVE_TOOL
|
NATIVE_TOOL
|
||||||
)
|
)
|
||||||
|
|
||||||
var NOAPI = ""
|
var NOAPI = func() string {
|
||||||
var CATALOGAPI = "oc-catalog"
|
return ""
|
||||||
var SHAREDAPI = "oc-shared"
|
}
|
||||||
var WORKFLOWAPI = "oc-workflow"
|
var CATALOGAPI = func() string {
|
||||||
var WORKSPACEAPI = "oc-workspace"
|
return config.GetConfig().InternalCatalogAPI
|
||||||
var PEERSAPI = "oc-peer"
|
}
|
||||||
var DATACENTERAPI = "oc-datacenter"
|
var SHAREDAPI = func() string {
|
||||||
var PURCHASEAPI = "oc-catalog/purchase"
|
return config.GetConfig().InternalSharedAPI
|
||||||
var ADMIRALTY_SOURCEAPI = DATACENTERAPI + "/admiralty/source"
|
}
|
||||||
var ADMIRALTY_TARGETAPI = DATACENTERAPI + "/admiralty/target"
|
var WORKFLOWAPI = func() string {
|
||||||
var ADMIRALTY_SECRETAPI = DATACENTERAPI + "/admiralty/secret"
|
return config.GetConfig().InternalWorkflowAPI
|
||||||
var ADMIRALTY_KUBECONFIGAPI = DATACENTERAPI + "/admiralty/kubeconfig"
|
}
|
||||||
var ADMIRALTY_NODESAPI = DATACENTERAPI + "/admiralty/node"
|
var WORKSPACEAPI = func() string {
|
||||||
var MINIO = DATACENTERAPI + "/minio"
|
return config.GetConfig().InternalWorkspaceAPI
|
||||||
|
}
|
||||||
|
var PEERSAPI = func() string {
|
||||||
|
return config.GetConfig().InternalPeerAPI
|
||||||
|
}
|
||||||
|
var DATACENTERAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI
|
||||||
|
}
|
||||||
|
var PURCHASEAPI = func() string {
|
||||||
|
return config.GetConfig().InternalCatalogAPI + "/purchase"
|
||||||
|
}
|
||||||
|
var ADMIRALTY_SOURCEAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/admiralty/source"
|
||||||
|
}
|
||||||
|
var ADMIRALTY_TARGETAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/admiralty/target"
|
||||||
|
}
|
||||||
|
var ADMIRALTY_SECRETAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/admiralty/secret"
|
||||||
|
}
|
||||||
|
var ADMIRALTY_KUBECONFIGAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/admiralty/kubeconfig"
|
||||||
|
}
|
||||||
|
var ADMIRALTY_NODESAPI = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/admiralty/node"
|
||||||
|
}
|
||||||
|
var MINIO = func() string {
|
||||||
|
return config.GetConfig().InternalDatacenterAPI + "/minio"
|
||||||
|
}
|
||||||
|
|
||||||
// Bind the standard API name to the data type
|
// Bind the standard API name to the data type
|
||||||
var DefaultAPI = [...]string{
|
var DefaultAPI = [...]func() string{
|
||||||
NOAPI,
|
NOAPI,
|
||||||
CATALOGAPI,
|
CATALOGAPI,
|
||||||
CATALOGAPI,
|
CATALOGAPI,
|
||||||
@@ -120,7 +152,7 @@ func FromInt(i int) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d DataType) API() string { // API - Returns the API name of the data type
|
func (d DataType) API() string { // API - Returns the API name of the data type
|
||||||
return DefaultAPI[d]
|
return DefaultAPI[d]()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d DataType) String() string { // String - Returns the string name of the data type
|
func (d DataType) String() string { // String - Returns the string name of the data type
|
||||||
|
|||||||
Reference in New Issue
Block a user