refactor remaining code from urfave/cli

Signed-off-by: Christian Richter <c.richter@opencloud.eu>
This commit is contained in:
Christian Richter
2025-12-04 10:11:06 +01:00
committed by Florian Schade
parent a8545bfa39
commit 0372869b8b
16 changed files with 90 additions and 65 deletions

View File

@@ -2,14 +2,12 @@ package runtime
import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/urfave/cli/v2"
)
// Options is a runtime option
type Options struct {
Services []string
Logger log.Logger
Context *cli.Context
}
// Option undocumented
@@ -21,10 +19,3 @@ func Services(s []string) Option {
o.Services = append(o.Services, s...)
}
}
// Context option
func Context(c *cli.Context) Option {
return func(o *Options) {
o.Context = c
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/pkg/shared"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -23,7 +24,7 @@ type Options struct {
Address string
Handler http.Handler
Context context.Context
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -83,7 +84,7 @@ func Context(ctx context.Context) Option {
}
// Flags provides a function to set the flags option.
func Flags(flags ...cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, flags...)
}

View File

@@ -62,7 +62,8 @@ func NewService(opts ...Option) (Service, error) {
micro.Name(strings.Join([]string{sopts.Namespace, sopts.Name}, ".")),
micro.Version(sopts.Version),
micro.Context(sopts.Context),
micro.Flags(sopts.Flags...),
// TODO: clarify if this is actually used on the go-micro side
//micro.Flags(sopts.Flags...),
micro.Registry(registry.GetRegistry()),
micro.RegisterTTL(registry.GetRegisterTTL()),
micro.RegisterInterval(registry.GetRegisterInterval()),

View File

@@ -11,7 +11,8 @@ import (
"github.com/opencloud-eu/opencloud/services/activitylog/pkg/metrics"
"github.com/opencloud-eu/reva/v2/pkg/events"
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go-micro.dev/v4/store"
"go.opentelemetry.io/otel/trace"
)
@@ -25,7 +26,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
Namespace string
Store store.Store
Stream events.Stream
@@ -76,9 +77,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -8,7 +8,8 @@ import (
settingssvc "github.com/opencloud-eu/opencloud/protogen/gen/opencloud/services/settings/v0"
"github.com/opencloud-eu/opencloud/services/auth-app/pkg/config"
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -20,7 +21,7 @@ type Options struct {
Logger log.Logger
Context context.Context
Config *config.Config
Flags []cli.Flag
Flags []pflag.Flag
Namespace string
GatewaySelector pool.Selectable[gateway.GatewayAPIClient]
RoleClient settingssvc.RoleService
@@ -60,9 +61,9 @@ func Config(val *config.Config) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -3,13 +3,13 @@ package http
import (
"context"
"github.com/nats-io/nats.go/jetstream"
"github.com/urfave/cli/v2"
"go.opentelemetry.io/otel/trace"
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/graph/pkg/config"
"github.com/opencloud-eu/opencloud/services/graph/pkg/metrics"
"github.com/nats-io/nats.go/jetstream"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
// Option defines a single option function.
@@ -21,7 +21,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
Namespace string
TraceProvider trace.TracerProvider
NatsKeyValue jetstream.KeyValue
@@ -67,9 +67,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/idp/pkg/config"
"github.com/opencloud-eu/opencloud/services/idp/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -20,7 +21,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -64,9 +65,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/invitations/pkg/config"
svc "github.com/opencloud-eu/opencloud/services/invitations/pkg/service/v0"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
)
// Option defines a single option function.
@@ -19,7 +20,7 @@ type Options struct {
Logger log.Logger
Context context.Context
Config *config.Config
Flags []cli.Flag
Flags []pflag.Flag
Service svc.Service
}
@@ -63,9 +64,9 @@ func Config(val *config.Config) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/ocs/pkg/config"
"github.com/opencloud-eu/opencloud/services/ocs/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -20,7 +21,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -64,9 +65,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -4,11 +4,12 @@ import (
"context"
"net/http"
"github.com/justinas/alice"
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/proxy/pkg/config"
"github.com/opencloud-eu/opencloud/services/proxy/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/justinas/alice"
"github.com/spf13/pflag"
)
// Option defines a single option function.
@@ -21,7 +22,7 @@ type Options struct {
Config *config.Config
Handler http.Handler
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
Middlewares alice.Chain
}
@@ -65,9 +66,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -7,7 +7,8 @@ import (
"github.com/opencloud-eu/opencloud/services/settings/pkg/config"
"github.com/opencloud-eu/opencloud/services/settings/pkg/metrics"
"github.com/opencloud-eu/opencloud/services/settings/pkg/settings"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -22,7 +23,7 @@ type Options struct {
Config *config.Config
Metrics *metrics.Metrics
ServiceHandler settings.ServiceHandler
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -73,9 +74,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/thumbnails/pkg/config"
"github.com/opencloud-eu/opencloud/services/thumbnails/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/otel/trace/noop"
)
@@ -21,7 +22,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -81,3 +82,10 @@ func TraceProvider(traceProvider trace.TracerProvider) Option {
}
}
}
// Flags provides a function to set the flags option.
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -11,7 +11,8 @@ import (
"github.com/opencloud-eu/opencloud/services/userlog/pkg/metrics"
"github.com/opencloud-eu/reva/v2/pkg/events"
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go-micro.dev/v4/store"
"go.opentelemetry.io/otel/trace"
)
@@ -25,7 +26,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
Namespace string
Store store.Store
Stream events.Stream
@@ -77,9 +78,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/web/pkg/config"
"github.com/opencloud-eu/opencloud/services/web/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -19,7 +20,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
Namespace string
TraceProvider trace.TracerProvider
}
@@ -76,3 +77,10 @@ func TraceProvider(val trace.TracerProvider) Option {
o.TraceProvider = val
}
}
// Flags provides a function to set the flags option.
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -6,7 +6,8 @@ import (
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/webdav/pkg/config"
"github.com/opencloud-eu/opencloud/services/webdav/pkg/metrics"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
)
@@ -20,7 +21,7 @@ type Options struct {
Context context.Context
Config *config.Config
Metrics *metrics.Metrics
Flags []cli.Flag
Flags []pflag.Flag
TraceProvider trace.TracerProvider
}
@@ -64,9 +65,9 @@ func Metrics(val *metrics.Metrics) Option {
}
// Flags provides a function to set the flags option.
func Flags(val []cli.Flag) Option {
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, val...)
o.Flags = append(o.Flags, flags...)
}
}

View File

@@ -3,13 +3,13 @@ package http
import (
"context"
"go.opentelemetry.io/otel/trace/noop"
"github.com/opencloud-eu/opencloud/pkg/log"
"github.com/opencloud-eu/opencloud/services/webfinger/pkg/config"
svc "github.com/opencloud-eu/opencloud/services/webfinger/pkg/service/v0"
"github.com/urfave/cli/v2"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/otel/trace/noop"
)
// Option defines a single option function.
@@ -22,7 +22,7 @@ type Options struct {
Logger log.Logger
Context context.Context
Config *config.Config
Flags []cli.Flag
Flags []pflag.Flag
Service svc.Service
TraceProvider trace.TracerProvider
}
@@ -66,6 +66,13 @@ func Service(val svc.Service) Option {
}
}
// Flags provides a function to set the flags option.
func Flags(flags ...pflag.Flag) Option {
return func(o *Options) {
o.Flags = append(o.Flags, flags...)
}
}
// TraceProvider provides a function to configure the trace provider
func TraceProvider(traceProvider trace.TracerProvider) Option {
return func(o *Options) {