update commands when running in supervised mode

This commit is contained in:
A.Unger
2021-03-10 11:10:46 +01:00
parent 25909d5923
commit 4e37d4a2f6
72 changed files with 1547 additions and 803 deletions
+11 -40
View File
@@ -4,20 +4,19 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"path/filepath"
"time"
"github.com/thejerf/suture"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// AuthBasic is the entrypoint for the auth-basic command.
@@ -153,48 +152,17 @@ func AuthBasic(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", "debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", "debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -213,6 +181,9 @@ type AuthBasicSutureService struct {
func NewAuthBasic(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.AuthBasic.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.AuthBasic.Supervised = true
}
return AuthBasicSutureService{
ctx: sctx,
cancel: cancel,
+11 -40
View File
@@ -4,19 +4,18 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// AuthBearer is the entrypoint for the auth-bearer command.
@@ -133,48 +132,17 @@ func AuthBearer(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", "debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", "debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -193,6 +161,9 @@ type AuthBearerSutureService struct {
func NewAuthBearer(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.AuthBearer.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.AuthBearer.Supervised = true
}
return AuthBearerSutureService{
ctx: sctx,
cancel: cancel,
+11 -35
View File
@@ -5,21 +5,21 @@ import (
"flag"
"fmt"
"os"
"os/signal"
"path"
"strings"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/conversions"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// Frontend is the entrypoint for the frontend command.
@@ -264,40 +264,13 @@ func Frontend(cfg *config.Config) *cli.Command {
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", "debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.Frontend.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -341,6 +314,9 @@ type FrontendSutureService struct {
func NewFrontend(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.Frontend.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.Frontend.Supervised = true
}
return FrontendSutureService{
ctx: sctx,
cancel: cancel,
+12 -40
View File
@@ -4,21 +4,21 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"strings"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/owncloud/ocis/storage/pkg/service/external"
"github.com/thejerf/suture"
)
// Gateway is the entrypoint for the gateway command.
@@ -186,48 +186,17 @@ func Gateway(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", "debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", "debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", "debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -270,6 +239,9 @@ type GatewaySutureService struct {
func NewGateway(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.Gateway.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.Gateway.Supervised = true
}
return GatewaySutureService{
ctx: sctx,
cancel: cancel,
+12 -40
View File
@@ -4,20 +4,20 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"path/filepath"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// Groups is the entrypoint for the sharing command.
@@ -167,48 +167,17 @@ func Groups(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", c.Command.Name+"-debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -227,6 +196,9 @@ type GroupsProvider struct {
func NewGroupsProvider(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.Groups.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.Groups.Supervised = true
}
return GroupsProvider{
ctx: sctx,
cancel: cancel,
+11 -35
View File
@@ -4,20 +4,20 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"path/filepath"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// Sharing is the entrypoint for the sharing command.
@@ -164,40 +164,13 @@ func Sharing(cfg *config.Config) *cli.Command {
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -216,6 +189,9 @@ type SharingSutureService struct {
func NewSharing(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.Sharing.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.Sharing.Supervised = true
}
return SharingSutureService{
ctx: sctx,
cancel: cancel,
+12 -40
View File
@@ -4,19 +4,19 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// StorageHome is the entrypoint for the storage-home command.
@@ -152,48 +152,17 @@ func StorageHome(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", c.Command.Name+"-debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -212,6 +181,9 @@ type StorageHomeSutureService struct {
func NewStorageHome(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.StorageHome.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.StorageHome.Supervised = true
}
return StorageHomeSutureService{
ctx: sctx,
cancel: cancel,
+11 -18
View File
@@ -4,20 +4,21 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"time"
"github.com/gofrs/uuid"
"github.com/owncloud/ocis/storage/pkg/service/external"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/owncloud/ocis/storage/pkg/service/external"
"github.com/thejerf/suture"
)
// StorageMetadata the entrypoint for the storage-storage-metadata command.
@@ -74,7 +75,6 @@ func StorageMetadata(cfg *config.Config) *cli.Command {
var (
gr = run.Group{}
ctx, cancel = context.WithCancel(context.Background())
//metrics = metrics.New()
)
defer cancel()
@@ -192,18 +192,8 @@ func StorageMetadata(cfg *config.Config) *cli.Command {
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
if err := external.RegisterGRPCEndpoint(
@@ -232,6 +222,9 @@ type SutureService struct {
func NewStorageMetadata(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.StorageMetadata.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.StorageMetadata.Supervised = true
}
return SutureService{
ctx: sctx,
cancel: cancel,
+11 -40
View File
@@ -4,19 +4,18 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// StoragePublicLink is the entrypoint for the reva-storage-public-link command.
@@ -130,48 +129,17 @@ func StoragePublicLink(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", c.Command.Name+"-debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -190,6 +158,9 @@ type StoragePublicLinkSutureService struct {
func NewStoragePublicLink(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.StoragePublicLink.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.StoragePublicLink.Supervised = true
}
return StoragePublicLinkSutureService{
ctx: sctx,
cancel: cancel,
+11 -40
View File
@@ -4,19 +4,18 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// StorageUsers is the entrypoint for the storage-users command.
@@ -152,48 +151,17 @@ func StorageUsers(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", c.Command.Name+"-debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -212,6 +180,9 @@ type StorageUsersSutureService struct {
func NewStorageUsers(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.StorageUsers.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.StorageUsers.Supervised = true
}
return StorageUsersSutureService{
ctx: sctx,
cancel: cancel,
+11 -40
View File
@@ -4,20 +4,19 @@ import (
"context"
"flag"
"os"
"os/signal"
"path"
"path/filepath"
"time"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/thejerf/suture"
"github.com/cs3org/reva/cmd/revad/runtime"
"github.com/gofrs/uuid"
"github.com/micro/cli/v2"
"github.com/oklog/run"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/sync"
"github.com/owncloud/ocis/storage/pkg/config"
"github.com/owncloud/ocis/storage/pkg/flagset"
"github.com/owncloud/ocis/storage/pkg/server/debug"
"github.com/thejerf/suture"
)
// Users is the entrypoint for the sharing command.
@@ -168,48 +167,17 @@ func Users(cfg *config.Config) *cli.Command {
)
if err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to initialize server")
logger.Info().Err(err).Str("server", c.Command.Name+"-debug").Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
return server.ListenAndServe()
}, func(_ error) {
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
defer timeout()
defer cancel()
if err := server.Shutdown(ctx); err != nil {
logger.Info().
Err(err).
Str("server", c.Command.Name+"-debug").
Msg("Failed to shutdown server")
} else {
logger.Info().
Str("server", c.Command.Name+"-debug").
Msg("Shutting down server")
}
gr.Add(server.ListenAndServe, func(_ error) {
cancel()
})
}
{
stop := make(chan os.Signal, 1)
gr.Add(func() error {
signal.Notify(stop, os.Interrupt)
<-stop
return nil
}, func(err error) {
close(stop)
cancel()
})
if !cfg.Reva.StorageMetadata.Supervised {
sync.Trap(&gr, cancel)
}
return gr.Run()
@@ -228,6 +196,9 @@ type UsersProviderService struct {
func NewUsersProviderService(ctx context.Context, cfg *ociscfg.Config) suture.Service {
sctx, cancel := context.WithCancel(ctx)
cfg.Storage.Reva.Users.Context = sctx
if cfg.Mode == 0 {
cfg.Storage.Reva.Users.Supervised = true
}
return UsersProviderService{
ctx: sctx,
cancel: cancel,