to separate controll ower the http and grpc driven services

This commit is contained in:
Roman Perekhod
2025-05-20 23:41:26 +02:00
committed by Jörn Friedrich Dreyer
parent 65d05bbd5c
commit 9a3fc08dd4
44 changed files with 370 additions and 331 deletions

View File

@@ -3,11 +3,8 @@ package command
import (
"context"
"fmt"
"os"
"os/signal"
"path"
"github.com/gofrs/uuid"
"github.com/opencloud-eu/opencloud/pkg/config/configlog"
"github.com/opencloud-eu/opencloud/pkg/ldap"
"github.com/opencloud-eu/opencloud/pkg/registry"
@@ -40,11 +37,11 @@ func Server(cfg *config.Config) *cli.Command {
}
var cancel context.CancelFunc
ctx := cfg.Context
if ctx == nil {
ctx, cancel = signal.NotifyContext(context.Background(), runner.StopSignals...)
if cfg.Context == nil {
cfg.Context, cancel = signal.NotifyContext(context.Background(), runner.StopSignals...)
defer cancel()
}
ctx := cfg.Context
gr := runner.NewGroup()
@@ -61,16 +58,22 @@ func Server(cfg *config.Config) *cli.Command {
}
{
pidFile := path.Join(os.TempDir(), "revad-"+cfg.Service.Name+"-"+uuid.Must(uuid.NewV4()).String()+".pid")
// run the appropriate reva servers based on the config
rCfg := revaconfig.AuthBasicConfigFromStruct(cfg)
reg := registry.GetRegistry()
revaSrv := runtime.RunDrivenServerWithOptions(rCfg, pidFile,
if rServer := runtime.NewDrivenHTTPServerWithOptions(rCfg,
runtime.WithLogger(&logger.Logger),
runtime.WithRegistry(reg),
runtime.WithRegistry(registry.GetRegistry()),
runtime.WithTraceProvider(traceProvider),
)
gr.Add(runner.NewRevaServiceRunner("auth-basic_revad", revaSrv))
); rServer != nil {
gr.Add(runner.NewRevaServiceRunner(cfg.Service.Name+".rhttp", rServer))
}
if rServer := runtime.NewDrivenGRPCServerWithOptions(rCfg,
runtime.WithLogger(&logger.Logger),
runtime.WithRegistry(registry.GetRegistry()),
runtime.WithTraceProvider(traceProvider),
); rServer != nil {
gr.Add(runner.NewRevaServiceRunner(cfg.Service.Name+".rgrpc", rServer))
}
}
{