configurable ocm timeouts
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
Enhancement: Configurable OCM timeouts
|
||||||
|
|
||||||
|
We added `OCM_OCM_INVITE_MANAGER_TOKEN_EXPIRATION` and `OCM_OCM_INVITE_MANAGER_TIMEOUT` to allow changing the default invite token duration as well as the request timeout for requests made to other instances.
|
||||||
|
|
||||||
|
https://github.com/owncloud/ocis/pull/9450
|
||||||
@@ -2,6 +2,7 @@ package config
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
|
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
|
||||||
"go-micro.dev/v4/client"
|
"go-micro.dev/v4/client"
|
||||||
@@ -90,9 +91,11 @@ type OCMD struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type OCMInviteManager struct {
|
type OCMInviteManager struct {
|
||||||
Driver string `yaml:"driver" env:"OCM_OCM_INVITE_MANAGER_DRIVER" desc:"Driver to be used to persist OCM invites. Supported value is only 'json'." introductionVersion:"5.0"`
|
Driver string `yaml:"driver" env:"OCM_OCM_INVITE_MANAGER_DRIVER" desc:"Driver to be used to persist OCM invites. Supported value is only 'json'." introductionVersion:"5.0"`
|
||||||
Drivers OCMInviteManagerDrivers `yaml:"drivers"`
|
Drivers OCMInviteManagerDrivers `yaml:"drivers"`
|
||||||
Insecure bool `yaml:"insecure" env:"OCM_OCM_INVITE_MANAGER_INSECURE" desc:"Disable TLS certificate validation for the OCM connections. Do not set this in production environments." introductionVersion:"5.0"`
|
TokenExpiration time.Duration `yaml:"token_expiration" env:"OCM_OCM_INVITE_MANAGER_TOKEN_EXPIRATION" desc:"Expiry duration for invite tokens." introductionVersion:"6.0.1"`
|
||||||
|
Timeout time.Duration `yaml:"timeout" env:"OCM_OCM_INVITE_MANAGER_TIMEOUT" desc:"Timeout specifies a time limit for requests made to OCM endpoints." introductionVersion:"6.0.1"`
|
||||||
|
Insecure bool `yaml:"insecure" env:"OCM_OCM_INVITE_MANAGER_INSECURE" desc:"Disable TLS certificate validation for the OCM connections. Do not set this in production environments." introductionVersion:"5.0"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type OCMInviteManagerDrivers struct {
|
type OCMInviteManagerDrivers struct {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package defaults
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/owncloud/ocis/v2/ocis-pkg/config/defaults"
|
"github.com/owncloud/ocis/v2/ocis-pkg/config/defaults"
|
||||||
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
|
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
|
||||||
@@ -97,7 +98,9 @@ func DefaultConfig() *config.Config {
|
|||||||
File: filepath.Join(defaults.BaseDataPath(), "storage", "ocm", "ocminvites.json"),
|
File: filepath.Join(defaults.BaseDataPath(), "storage", "ocm", "ocminvites.json"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Insecure: false,
|
TokenExpiration: 24 * time.Hour,
|
||||||
|
Timeout: 30 * time.Second,
|
||||||
|
Insecure: false,
|
||||||
},
|
},
|
||||||
OCMProviderAuthorizerDriver: "json",
|
OCMProviderAuthorizerDriver: "json",
|
||||||
OCMProviderAuthorizerDrivers: config.OCMProviderAuthorizerDrivers{
|
OCMProviderAuthorizerDrivers: config.OCMProviderAuthorizerDrivers{
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package revaconfig
|
package revaconfig
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math"
|
||||||
|
|
||||||
"github.com/owncloud/ocis/v2/ocis-pkg/log"
|
"github.com/owncloud/ocis/v2/ocis-pkg/log"
|
||||||
"github.com/owncloud/ocis/v2/services/ocm/pkg/config"
|
"github.com/owncloud/ocis/v2/services/ocm/pkg/config"
|
||||||
)
|
)
|
||||||
@@ -98,8 +100,10 @@ func OCMConfigFromStruct(cfg *config.Config, logger log.Logger) map[string]inter
|
|||||||
"file": cfg.OCMInviteManager.Drivers.JSON.File,
|
"file": cfg.OCMInviteManager.Drivers.JSON.File,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"provider_domain": cfg.Commons.OcisURL,
|
"provider_domain": cfg.Commons.OcisURL,
|
||||||
"ocm_insecure": cfg.OCMInviteManager.Insecure,
|
"token_expiration": cfg.OCMInviteManager.TokenExpiration.String(),
|
||||||
|
"ocm_timeout": int(math.Round(cfg.OCMInviteManager.Timeout.Seconds())),
|
||||||
|
"ocm_insecure": cfg.OCMInviteManager.Insecure,
|
||||||
},
|
},
|
||||||
"ocmproviderauthorizer": map[string]interface{}{
|
"ocmproviderauthorizer": map[string]interface{}{
|
||||||
"driver": cfg.OCMProviderAuthorizerDriver,
|
"driver": cfg.OCMProviderAuthorizerDriver,
|
||||||
|
|||||||
Reference in New Issue
Block a user