add additional config options from cs3org/reva#1968

This commit is contained in:
Willy Kloucek
2021-08-12 16:23:25 +02:00
parent 439e5729a8
commit e2a7cf7809
3 changed files with 64 additions and 18 deletions

View File

@@ -85,11 +85,16 @@ func appProviderConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]
if cfg.Reva.AppProvider.Driver == "wopi" {
drivers = map[string]interface{}{
"wopi": map[string]interface{}{
"app_name": "CS3 WOPI server",
"app_api_key": cfg.Reva.AppProvider.WopiDriver.AppAPIKey,
"app_desktop_only": cfg.Reva.AppProvider.WopiDriver.AppDesktopOnly,
"app_icon_uri": cfg.Reva.AppProvider.WopiDriver.AppIconURI,
"app_int_url": cfg.Reva.AppProvider.WopiDriver.AppInternalURL,
"app_name": cfg.Reva.AppProvider.WopiDriver.AppName,
"app_url": cfg.Reva.AppProvider.WopiDriver.AppURL,
"insecure_connections": cfg.Reva.AppProvider.WopiDriver.Insecure,
"iop_secret": cfg.Reva.AppProvider.WopiDriver.IopSecret,
"jwt_secret": cfg.Reva.AppProvider.WopiDriver.JWTSecret,
"wopi_url": cfg.Reva.AppProvider.WopiDriver.WopiURL,
"app_url": cfg.Reva.AppProvider.WopiDriver.AppURL,
},
}
}
@@ -111,6 +116,7 @@ func appProviderConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]
// TODO build services dynamically
"services": map[string]interface{}{
"appprovider": map[string]interface{}{
"gatewaysvc": cfg.Reva.Gateway.Endpoint,
"app_provider_url": cfg.Reva.AppProvider.ExternalAddr,
"driver": cfg.Reva.AppProvider.Driver,
"drivers": drivers,

View File

@@ -48,10 +48,16 @@ type AppProvider struct {
}
type WopiDriver struct {
IopSecret string
Insecure bool
WopiURL string
AppURL string
AppAPIKey string
AppDesktopOnly bool
AppIconURI string
AppInternalURL string
AppName string
AppURL string
Insecure bool
IopSecret string
JWTSecret string
WopiURL string
}
// Sharing defines the available sharing configuration.

View File

@@ -63,11 +63,46 @@ func AppProviderWithConfig(cfg *config.Config) []cli.Flag {
// WOPI driver
&cli.StringFlag{
Name: "wopi-driver-iopsecret",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.IopSecret, ""),
Name: "wopi-driver-app-apikey",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppAPIKey, ""),
Usage: "The API key used by the app, if applicable.",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_API_KEY"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppAPIKey,
},
&cli.BoolFlag{
Name: "wopi-driver-app-desktop-only",
Value: flags.OverrideDefaultBool(cfg.Reva.AppProvider.WopiDriver.AppDesktopOnly, false),
Usage: "Whether the app can be opened only on desktop",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_DESKTOP_ONLY"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppDesktopOnly,
},
&cli.StringFlag{
Name: "wopi-driver-app-icon-uri",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppIconURI, ""),
Usage: "IOP Secret (Shared with WOPI server)",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_IOP_SECRET"},
Destination: &cfg.Reva.AppProvider.WopiDriver.IopSecret,
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_ICON_URI"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppIconURI,
},
&cli.StringFlag{
Name: "wopi-driver-app-internal-url",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppInternalURL, ""),
Usage: "The internal app URL in case of dockerized deployments. Defaults to AppURL",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_INTERNAL_URL"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppInternalURL,
},
&cli.StringFlag{
Name: "wopi-driver-app-name",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppName, ""),
Usage: "The App user-friendly name.",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_NAME"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppName,
},
&cli.StringFlag{
Name: "wopi-driver-app-url",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppURL, ""),
Usage: "App server URL",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_URL"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppURL,
},
&cli.BoolFlag{
Name: "wopi-driver-insecure",
@@ -76,6 +111,13 @@ func AppProviderWithConfig(cfg *config.Config) []cli.Flag {
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_INSECURE"},
Destination: &cfg.Reva.AppProvider.WopiDriver.Insecure,
},
&cli.StringFlag{
Name: "wopi-driver-iopsecret",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.IopSecret, ""),
Usage: "IOP Secret (Shared with WOPI server)",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_IOP_SECRET"},
Destination: &cfg.Reva.AppProvider.WopiDriver.IopSecret,
},
&cli.StringFlag{
Name: "wopi-driver-wopiurl",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.WopiURL, ""),
@@ -84,14 +126,6 @@ func AppProviderWithConfig(cfg *config.Config) []cli.Flag {
Destination: &cfg.Reva.AppProvider.WopiDriver.WopiURL,
},
&cli.StringFlag{
Name: "wopi-driver-appurl",
Value: flags.OverrideDefaultString(cfg.Reva.AppProvider.WopiDriver.AppURL, ""),
Usage: "App server URL",
EnvVars: []string{"APP_PROVIDER_WOPI_DRIVER_APP_URL"},
Destination: &cfg.Reva.AppProvider.WopiDriver.AppURL,
},
// Gateway
&cli.StringFlag{
Name: "gateway-url",