mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-17 18:14:42 -06:00
feat(ocm): add wayf configuration for reva ocm service
Signed-off-by: Mahdi Baghbani <mahdi-baghbani@azadehafzar.io>
This commit is contained in:
7
changelog/unreleased/add-ocm-wayf-configuration.md
Normal file
7
changelog/unreleased/add-ocm-wayf-configuration.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Enhancement: Add WAYF configuration for reva OCM service
|
||||||
|
|
||||||
|
Add WAYF configuration support for the Reva OCM service,
|
||||||
|
enabling federation discovery functionality for Open Cloud Mesh.
|
||||||
|
This includes configuration for federations file storage and invite accept dialog URL.
|
||||||
|
|
||||||
|
https://github.com/opencloud-eu/opencloud/pull/1714
|
||||||
@@ -83,8 +83,10 @@ type GRPCConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ScienceMesh struct {
|
type ScienceMesh struct {
|
||||||
Prefix string `yaml:"prefix" env:"OCM_SCIENCEMESH_PREFIX" desc:"URL path prefix for the ScienceMesh service. Note that the string must not start with '/'." introductionVersion:"1.0.0"`
|
Prefix string `yaml:"prefix" env:"OCM_SCIENCEMESH_PREFIX" desc:"URL path prefix for the ScienceMesh service. Note that the string must not start with '/'." introductionVersion:"1.0.0"`
|
||||||
MeshDirectoryURL string `yaml:"science_mesh_directory_url" env:"OCM_MESH_DIRECTORY_URL" desc:"URL of the mesh directory service." introductionVersion:"1.0.0"`
|
MeshDirectoryURL string `yaml:"science_mesh_directory_url" env:"OCM_MESH_DIRECTORY_URL" desc:"URL of the mesh directory service." introductionVersion:"1.0.0"`
|
||||||
|
Federations string `yaml:"federations_file" env:"OCM_FEDERATIONS_FILE" desc:"Path to the JSON file where OCM federations data will be stored." introductionVersion:"3.5.0"`
|
||||||
|
InviteAcceptDialog string `yaml:"invite_accept_dialog" env:"OCM_INVITE_ACCEPT_DIALOG" desc:"/open-cloud-mesh/accept-invite;The frontend URL where to land when receiving an invitation" introductionVersion:"3.5.0"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type OCMD struct {
|
type OCMD struct {
|
||||||
|
|||||||
@@ -90,7 +90,9 @@ func DefaultConfig() *config.Config {
|
|||||||
Cluster: "opencloud-cluster",
|
Cluster: "opencloud-cluster",
|
||||||
},
|
},
|
||||||
ScienceMesh: config.ScienceMesh{
|
ScienceMesh: config.ScienceMesh{
|
||||||
Prefix: "sciencemesh",
|
Prefix: "sciencemesh",
|
||||||
|
Federations: filepath.Join(defaults.BaseConfigPath(), "federations.json"),
|
||||||
|
InviteAcceptDialog: "/open-cloud-mesh/accept-invite",
|
||||||
},
|
},
|
||||||
OCMD: config.OCMD{
|
OCMD: config.OCMD{
|
||||||
Prefix: "ocm",
|
Prefix: "ocm",
|
||||||
|
|||||||
@@ -60,13 +60,14 @@ func OCMConfigFromStruct(cfg *config.Config, logger log.Logger) map[string]inter
|
|||||||
"wellknown": map[string]interface{}{
|
"wellknown": map[string]interface{}{
|
||||||
"prefix": ".well-known",
|
"prefix": ".well-known",
|
||||||
"ocmprovider": map[string]interface{}{
|
"ocmprovider": map[string]interface{}{
|
||||||
"ocm_prefix": cfg.OCMD.Prefix,
|
"ocm_prefix": cfg.OCMD.Prefix,
|
||||||
"endpoint": cfg.Commons.OpenCloudURL,
|
"endpoint": cfg.Commons.OpenCloudURL,
|
||||||
"provider": "OpenCloud",
|
"provider": "OpenCloud",
|
||||||
"webdav_root": "/dav/ocm",
|
"webdav_root": "/dav/ocm",
|
||||||
"webapp_root": cfg.ScienceMesh.Prefix,
|
"webapp_root": cfg.ScienceMesh.Prefix,
|
||||||
"enable_webapp": false,
|
"invite_accept_dialog": cfg.ScienceMesh.InviteAcceptDialog,
|
||||||
"enable_datatx": false,
|
"enable_webapp": false,
|
||||||
|
"enable_datatx": false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"sciencemesh": map[string]interface{}{
|
"sciencemesh": map[string]interface{}{
|
||||||
@@ -74,6 +75,7 @@ func OCMConfigFromStruct(cfg *config.Config, logger log.Logger) map[string]inter
|
|||||||
"smtp_credentials": map[string]string{},
|
"smtp_credentials": map[string]string{},
|
||||||
"gatewaysvc": cfg.Reva.Address,
|
"gatewaysvc": cfg.Reva.Address,
|
||||||
"mesh_directory_url": cfg.ScienceMesh.MeshDirectoryURL,
|
"mesh_directory_url": cfg.ScienceMesh.MeshDirectoryURL,
|
||||||
|
"federations_file": cfg.ScienceMesh.Federations,
|
||||||
"provider_domain": providerDomain,
|
"provider_domain": providerDomain,
|
||||||
"events": map[string]interface{}{
|
"events": map[string]interface{}{
|
||||||
"natsaddress": cfg.Events.Endpoint,
|
"natsaddress": cfg.Events.Endpoint,
|
||||||
|
|||||||
@@ -171,6 +171,18 @@ func DefaultPolicies() []config.Policy {
|
|||||||
Service: "eu.opencloud.web.frontend",
|
Service: "eu.opencloud.web.frontend",
|
||||||
Unprotected: true,
|
Unprotected: true,
|
||||||
},
|
},
|
||||||
|
// OCM WAYF public endpoints
|
||||||
|
{
|
||||||
|
Endpoint: "/sciencemesh/federations",
|
||||||
|
Service: "eu.opencloud.web.ocm",
|
||||||
|
Unprotected: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Endpoint: "/sciencemesh/discover",
|
||||||
|
Service: "eu.opencloud.web.ocm",
|
||||||
|
Unprotected: true,
|
||||||
|
},
|
||||||
|
// General sciencemesh endpoints
|
||||||
{
|
{
|
||||||
Endpoint: "/sciencemesh/",
|
Endpoint: "/sciencemesh/",
|
||||||
Service: "eu.opencloud.web.ocm",
|
Service: "eu.opencloud.web.ocm",
|
||||||
|
|||||||
Reference in New Issue
Block a user