mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-05 19:59:37 -06:00
Merge pull request #1697 from owncloud/use-registry-interface
Use registry interface value
This commit is contained in:
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListAccountsWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Server.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get accounts services from the registry: %v", err))
|
||||
|
||||
6
changelog/unreleased/use-registry-interface.md
Normal file
6
changelog/unreleased/use-registry-interface.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add initial nats and kubernetes registry support
|
||||
|
||||
We added initial support to use nats and kubernetes as a service registry using `MICRO_REGISTRY=nats` and `MICRO_REGISTRY=kubernetes` respectively.
|
||||
Multiple nodes can be given with `MICRO_REGISTRY_ADDRESS=1.2.3.4,5.6.7.8,9.10.11.12`.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/1697
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListIDPWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Service.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get idp services from the registry: %v", err))
|
||||
|
||||
@@ -5,7 +5,9 @@ import (
|
||||
"strings"
|
||||
|
||||
etcdr "github.com/asim/go-micro/plugins/registry/etcd/v3"
|
||||
kubernetesr "github.com/asim/go-micro/plugins/registry/kubernetes/v3"
|
||||
mdnsr "github.com/asim/go-micro/plugins/registry/mdns/v3"
|
||||
natsr "github.com/asim/go-micro/plugins/registry/nats/v3"
|
||||
|
||||
"github.com/asim/go-micro/v3/registry"
|
||||
)
|
||||
@@ -18,11 +20,19 @@ var (
|
||||
// GetRegistry returns a configured micro registry based on Micro env vars.
|
||||
// It defaults to mDNS, so mind that systems with mDNS disabled by default (i.e SUSE) will have a hard time
|
||||
// and it needs to explicitly use etcd. Os awareness for providing a working registry out of the box should be done.
|
||||
func GetRegistry() *registry.Registry {
|
||||
func GetRegistry() registry.Registry {
|
||||
addresses := strings.Split(os.Getenv(registryAddressEnv), ",")
|
||||
|
||||
var r registry.Registry
|
||||
switch os.Getenv(registryEnv) {
|
||||
case "nats":
|
||||
r = natsr.NewRegistry(
|
||||
registry.Addrs(addresses...),
|
||||
)
|
||||
case "kubernetes":
|
||||
r = kubernetesr.NewRegistry(
|
||||
registry.Addrs(addresses...),
|
||||
)
|
||||
case "etcd":
|
||||
r = etcdr.NewRegistry(
|
||||
registry.Addrs(addresses...),
|
||||
@@ -31,5 +41,5 @@ func GetRegistry() *registry.Registry {
|
||||
r = mdnsr.NewRegistry()
|
||||
}
|
||||
|
||||
return &r
|
||||
return r
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ func NewService(opts ...Option) Service {
|
||||
micro.Version(sopts.Version),
|
||||
micro.Context(sopts.Context),
|
||||
micro.Flags(sopts.Flags...),
|
||||
micro.Registry(*registry.GetRegistry()),
|
||||
micro.Registry(registry.GetRegistry()),
|
||||
micro.RegisterTTL(time.Second * 30),
|
||||
micro.RegisterInterval(time.Second * 10),
|
||||
micro.WrapHandler(prometheus.NewHandlerWrapper()),
|
||||
|
||||
@@ -32,7 +32,7 @@ func NewService(opts ...Option) Service {
|
||||
micro.Version(sopts.Version),
|
||||
micro.Context(sopts.Context),
|
||||
micro.Flags(sopts.Flags...),
|
||||
micro.Registry(*registry.GetRegistry()),
|
||||
micro.Registry(registry.GetRegistry()),
|
||||
micro.RegisterTTL(time.Second * 30),
|
||||
micro.RegisterInterval(time.Second * 10),
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ func Execute() error {
|
||||
)
|
||||
}
|
||||
|
||||
//r := *registry.GetRegistry()
|
||||
//r := registry.GetRegistry()
|
||||
|
||||
//opts := micro.Options{
|
||||
// Registry: r,
|
||||
|
||||
@@ -19,7 +19,7 @@ func VersionCommand(cfg *config.Config) *cli.Command {
|
||||
Usage: "Lists running services with version",
|
||||
Category: "Runtime",
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
serviceList, err := reg.ListServices()
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not list services: %v", err))
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListOcsWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Service.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get ocs services from the registry: %v", err))
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListProxyWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Service.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get proxy services from the registry: %v", err))
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListSettingsWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.GRPC.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get settings services from the registry: %v", err))
|
||||
|
||||
6
storage/pkg/service/external/external.go
vendored
6
storage/pkg/service/external/external.go
vendored
@@ -19,14 +19,14 @@ func RegisterGRPCEndpoint(ctx context.Context, serviceID, uuid, addr string, log
|
||||
Address: addr,
|
||||
Metadata: make(map[string]string),
|
||||
}
|
||||
r := oregistry.GetRegistry()
|
||||
|
||||
node.Metadata["broker"] = broker.String()
|
||||
node.Metadata["registry"] = registry.String()
|
||||
node.Metadata["registry"] = r.String()
|
||||
node.Metadata["server"] = "grpc"
|
||||
node.Metadata["transport"] = "grpc"
|
||||
node.Metadata["protocol"] = "grpc"
|
||||
|
||||
r := *oregistry.GetRegistry()
|
||||
|
||||
service := ®istry.Service{
|
||||
Name: serviceID,
|
||||
Version: "",
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListStoreWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Service.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get store services from the registry: %v", err))
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListThumbnailsWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Server.Namespace + "." + cfg.Server.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get thumbnails services from the registry: %v", err))
|
||||
|
||||
@@ -19,7 +19,7 @@ func PrintVersion(cfg *config.Config) *cli.Command {
|
||||
Usage: "Print the versions of the running instances",
|
||||
Flags: flagset.ListWebdavWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
reg := *registry.GetRegistry()
|
||||
reg := registry.GetRegistry()
|
||||
services, err := reg.GetService(cfg.Service.Namespace + "." + cfg.Service.Name)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("could not get webdav services from the registry: %v", err))
|
||||
|
||||
Reference in New Issue
Block a user