diff --git a/opencloud/pkg/command/init.go b/opencloud/pkg/command/init.go index 42b72f736e..0a87ea520c 100644 --- a/opencloud/pkg/command/init.go +++ b/opencloud/pkg/command/init.go @@ -23,7 +23,7 @@ func InitCommand(_ *config.Config) *cobra.Command { Short: "initialise an OpenCloud config", GroupID: CommandGroupServer, RunE: func(cmd *cobra.Command, args []string) error { - insecureFlag, _ := cmd.Flags().GetString("insecure") + insecureFlag := viper.GetString("insecure") insecure := false if insecureFlag == "ask" { answer := strings.ToLower(stringPrompt("Do you want to configure OpenCloud with certificate checking disabled?\n This is not recommended for public instances! [yes | no = default]")) @@ -33,10 +33,10 @@ func InitCommand(_ *config.Config) *cobra.Command { } else if insecureFlag == strings.ToLower("true") || insecureFlag == strings.ToLower("yes") || insecureFlag == strings.ToLower("y") { insecure = true } - forceOverwriteFlag, _ := cmd.Flags().GetBool("force-overwrite") - diffFlag, _ := cmd.Flags().GetBool("force-overwrite") - configPathFlag, _ := cmd.Flags().GetString("config-path") - adminPasswordFlag, _ := cmd.Flags().GetString("admin-password") + forceOverwriteFlag := viper.GetBool("force-overwrite") + diffFlag, _ := cmd.Flags().GetBool("diff") + configPathFlag := viper.GetString("config-path") + adminPasswordFlag := viper.GetString("admin-password") err := ocinit.CreateConfig(insecure, forceOverwriteFlag, diffFlag, configPathFlag, adminPasswordFlag) if err != nil { log.Fatalf("Could not create config: %s", err) @@ -74,7 +74,7 @@ func stringPrompt(label string) string { input := "" reader := bufio.NewReader(os.Stdin) for { - fmt.Fprint(os.Stderr, label+" ") + _, _ = fmt.Fprint(os.Stderr, label+" ") input, _ = reader.ReadString('\n') if input != "" { break diff --git a/opencloud/pkg/command/list.go b/opencloud/pkg/command/list.go index 94557be565..67323797ad 100644 --- a/opencloud/pkg/command/list.go +++ b/opencloud/pkg/command/list.go @@ -8,6 +8,8 @@ import ( "github.com/opencloud-eu/opencloud/opencloud/pkg/register" "github.com/opencloud-eu/opencloud/pkg/config" + "github.com/opencloud-eu/opencloud/pkg/config/configlog" + "github.com/opencloud-eu/opencloud/pkg/config/parser" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -18,8 +20,14 @@ func ListCommand(cfg *config.Config) *cobra.Command { listCmd := &cobra.Command{ Use: "list", Short: "list OpenCloud services running in the runtime (supervised mode)", + PersistentPreRunE: func(cmd *cobra.Command, args []string) error { + return configlog.ReturnError(parser.ParseConfig(cfg, true)) + }, RunE: func(cmd *cobra.Command, args []string) error { - client, err := rpc.DialHTTP("tcp", net.JoinHostPort(cfg.Runtime.Host, cfg.Runtime.Port)) + host := viper.GetString("hostname") + port := viper.GetString("port") + + client, err := rpc.DialHTTP("tcp", net.JoinHostPort(host, port)) if err != nil { log.Fatalf("Failed to connect to the runtime. Has the runtime been started and did you configure the right runtime address (\"%s\")", cfg.Runtime.Host+":"+cfg.Runtime.Port) } @@ -35,6 +43,7 @@ func ListCommand(cfg *config.Config) *cobra.Command { return nil }, } + listCmd.Flags().String("hostname", "localhost", "hostname of the runtime") _ = viper.BindEnv("hostname", "OC_RUNTIME_HOST") _ = viper.BindPFlag("hostname", listCmd.Flags().Lookup("hostname")) diff --git a/opencloud/pkg/command/shares.go b/opencloud/pkg/command/shares.go index f9cd84180d..39ef5c414e 100644 --- a/opencloud/pkg/command/shares.go +++ b/opencloud/pkg/command/shares.go @@ -3,6 +3,8 @@ package command import ( "errors" + "github.com/spf13/viper" + "github.com/opencloud-eu/opencloud/opencloud/pkg/register" "github.com/opencloud-eu/opencloud/pkg/config" "github.com/opencloud-eu/opencloud/pkg/config/configlog" @@ -15,7 +17,6 @@ import ( "github.com/opencloud-eu/reva/v2/pkg/share/manager/jsoncs3" "github.com/opencloud-eu/reva/v2/pkg/share/manager/registry" "github.com/opencloud-eu/reva/v2/pkg/utils" - "github.com/spf13/viper" "github.com/rs/zerolog" "github.com/spf13/cobra" @@ -77,7 +78,7 @@ func cleanupCmd(cfg *config.Config) *cobra.Command { return cleanCmd } -func cleanup(cmd *cobra.Command, cfg *config.Config) error { +func cleanup(_ *cobra.Command, cfg *config.Config) error { driver := cfg.Sharing.UserSharingDriver // cleanup is only implemented for the jsoncs3 share manager if driver != "jsoncs3" { @@ -108,8 +109,8 @@ func cleanup(cmd *cobra.Command, cfg *config.Config) error { return configlog.ReturnError(err) } - serviceAccountIDFlag, _ := cmd.Flags().GetString("service-account-id") - serviceAccountSecretFlag, _ := cmd.Flags().GetString("service-account-secret") + serviceAccountIDFlag := viper.GetString("service-account-id") + serviceAccountSecretFlag := viper.GetString("service-account-secret") serviceUserCtx, err := utils.GetServiceUserContext(serviceAccountIDFlag, client, serviceAccountSecretFlag) if err != nil { return configlog.ReturnError(err) @@ -167,39 +168,6 @@ func revaShareConfig(cfg *sharing.Config) map[string]interface{} { } } -func revaPublicShareConfig(cfg *sharing.Config) map[string]interface{} { - return map[string]interface{}{ - "json": map[string]interface{}{ - "file": cfg.PublicSharingDrivers.JSON.File, - "gateway_addr": cfg.Reva.Address, - }, - "jsoncs3": map[string]interface{}{ - "gateway_addr": cfg.Reva.Address, - "provider_addr": cfg.PublicSharingDrivers.JSONCS3.ProviderAddr, - "service_user_id": cfg.PublicSharingDrivers.JSONCS3.SystemUserID, - "service_user_idp": cfg.PublicSharingDrivers.JSONCS3.SystemUserIDP, - "machine_auth_apikey": cfg.PublicSharingDrivers.JSONCS3.SystemUserAPIKey, - }, - "sql": map[string]interface{}{ - "db_username": cfg.PublicSharingDrivers.SQL.DBUsername, - "db_password": cfg.PublicSharingDrivers.SQL.DBPassword, - "db_host": cfg.PublicSharingDrivers.SQL.DBHost, - "db_port": cfg.PublicSharingDrivers.SQL.DBPort, - "db_name": cfg.PublicSharingDrivers.SQL.DBName, - "password_hash_cost": cfg.PublicSharingDrivers.SQL.PasswordHashCost, - "enable_expired_shares_cleanup": cfg.PublicSharingDrivers.SQL.EnableExpiredSharesCleanup, - "janitor_run_interval": cfg.PublicSharingDrivers.SQL.JanitorRunInterval, - }, - "cs3": map[string]interface{}{ - "gateway_addr": cfg.PublicSharingDrivers.CS3.ProviderAddr, - "provider_addr": cfg.PublicSharingDrivers.CS3.ProviderAddr, - "service_user_id": cfg.PublicSharingDrivers.CS3.SystemUserID, - "service_user_idp": cfg.PublicSharingDrivers.CS3.SystemUserIDP, - "machine_auth_apikey": cfg.PublicSharingDrivers.CS3.SystemUserAPIKey, - }, - } -} - func logger() *zerolog.Logger { log := oclog.NewLogger( oclog.Name("migrate"),