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