fix startup without active appprovider driver

This commit is contained in:
Willy Kloucek
2021-07-28 14:33:19 +02:00
parent a909141bca
commit a1e1fbbe49
3 changed files with 24 additions and 10 deletions

View File

@@ -81,6 +81,19 @@ func AppProvider(cfg *config.Config) *cli.Command {
// appProviderConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service.
func appProviderConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]interface{} {
drivers := map[string]interface{}{}
if cfg.Reva.AppProvider.Driver == "wopi" {
drivers = map[string]interface{}{
"wopi": map[string]interface{}{
"app_name": "CS3 WOPI server",
"insecure_connections": cfg.Reva.AppProvider.WopiDriver.Insecure,
"iop_secret": cfg.Reva.AppProvider.WopiDriver.IopSecret,
"wopi_url": cfg.Reva.AppProvider.WopiDriver.WopiURL,
"app_url": cfg.Reva.AppProvider.WopiDriver.AppURL,
},
}
}
rcfg := map[string]interface{}{
"core": map[string]interface{}{
"max_cpus": cfg.Reva.AppProvider.MaxCPUs,
@@ -99,16 +112,8 @@ func appProviderConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]
"services": map[string]interface{}{
"appprovider": map[string]interface{}{
"app_provider_url": cfg.Reva.AppProvider.ExternalAddr,
"driver": "wopi", //TODO: make configurable
"drivers": map[string]interface{}{
"wopi": map[string]interface{}{
"app_name": "CS3 WOPI server",
"insecure_connections": cfg.Reva.AppProvider.WopiDriver.Insecure,
"iop_secret": cfg.Reva.AppProvider.WopiDriver.IopSecret,
"wopi_url": cfg.Reva.AppProvider.WopiDriver.WopiURL,
"app_url": cfg.Reva.AppProvider.WopiDriver.AppURL,
},
},
"driver": cfg.Reva.AppProvider.Driver,
"drivers": drivers,
},
},
},

View File

@@ -43,6 +43,7 @@ type StorageRegistry struct {
type AppProvider struct {
Port
ExternalAddr string
Driver string
WopiDriver WopiDriver
}

View File

@@ -53,6 +53,14 @@ func AppProviderWithConfig(cfg *config.Config) []cli.Flag {
EnvVars: []string{"APP_PROVIDER_BASIC_SERVICES"},
},
&cli.StringFlag{
Name: "driver",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.Driver, ""),
Usage: "Driver to use for app provider",
EnvVars: []string{"APP_PROVIDER_DRIVER"},
Destination: &cfg.Reva.AppProvider.Driver,
},
// WOPI driver
&cli.StringFlag{
Name: "wopi-driver-iopsecret",