diff --git a/accounts/go.mod b/accounts/go.mod index c1fa88b03..a3786fe3f 100644 --- a/accounts/go.mod +++ b/accounts/go.mod @@ -7,6 +7,8 @@ require ( contrib.go.opencensus.io/exporter/ocagent v0.6.0 contrib.go.opencensus.io/exporter/zipkin v0.1.1 github.com/asim/go-micro/plugins/client/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9 + github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9 // indirect + github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9 // indirect github.com/asim/go-micro/v3 v3.5.1-0.20210217182006-0f0ace1a44a9 github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 github.com/cs3org/reva v1.6.0 diff --git a/accounts/go.sum b/accounts/go.sum index 613a8c464..c2a83810f 100644 --- a/accounts/go.sum +++ b/accounts/go.sum @@ -140,6 +140,7 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0 github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee h1:3T/l+vMotQ7cDSLWNAn2Vg1SAQ3mdyLgBWWBitSS3uU= github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee/go.mod h1:u7Wtt4WATGGgae9mURNGQQqxAudPKrxfsbSDSGOso+g= +github.com/asim/go-micro v1.18.0 h1:k/qyLA5R175Vr1Owf90Ms1+J/zhBf/aa8aiHGhk0x5s= github.com/asim/go-micro/plugins/broker/memory/v3 v3.0.0-20210202145831-070250155285 h1:DUDMXvS9LfkgDYBRnKEJh7yPfV+tXOvLqIszqNg4DYc= github.com/asim/go-micro/plugins/broker/memory/v3 v3.0.0-20210202145831-070250155285/go.mod h1:IJrBUDk0XAbi0iDg+sKgkY588m311TkSoEAjU9xu/mc= github.com/asim/go-micro/plugins/client/grpc/v3 v3.0.0-20210205090925-e8167a8b79ed/go.mod h1:Mx1EwGdIq7wl5IkKLaGbHtoIC4yvqUNxJtZu6wxsqiU= @@ -148,10 +149,14 @@ github.com/asim/go-micro/plugins/client/grpc/v3 v3.0.0-20210217182006-0f0ace1a44 github.com/asim/go-micro/plugins/logger/zerolog/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:haYJgQRcIjFqISVLpuMwj6C5d5WNXqQGxnbBpzdQiI8= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:K/ITrPYRzfvcc8q/n5qJe4P0uSzWPi+Z7FUf4Nme1Js= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:14lNr4KR8mSDL1APh6UUYEo7wYPDPCZs9Oh782vve1M= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:w+mPcKXu8zfmXTKNnUW7p3P765mLUm4g4k6QCifm9Ec= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:niMfAMwnBJTu7He/0IkaBpo9CcUe3x6GnpaDK9cnMLQ= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:B9PDGhVx6Qg0r/XT4x7HqtR0aY1Tb4qRl4ugw9uXD+M= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:UWBk93zeuMU1xQSVqFUzLwYHQCiQsMepIPFXlltysls= github.com/asim/go-micro/plugins/registry/memory/v3 v3.0.0-20210202145831-070250155285 h1:zgDzypD412DKHoXIXW1JwIOWoGcjxzI1iF6JmwtyqHw= github.com/asim/go-micro/plugins/registry/memory/v3 v3.0.0-20210202145831-070250155285/go.mod h1:AU0vyZvsO1lpuQr/DUG4CnNRvITXqQcJRRAzBATR6Jo= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:dnUil65b+/Qbxpm/SNxoXShEWth4ibjQdeiRaLhOp6w= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:2FANWTJORjPl0QU/cHV9aZEuzHUgXGlh+UZc0S16ZEg= github.com/asim/go-micro/plugins/server/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:gpBgZRdVv2c7AVckCm2nRPEGiqccVlBYx0Aiv3u2wFo= github.com/asim/go-micro/plugins/server/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:4cS4mKqylPAybKUO8/mdjTGlBImeAL1RWA2rV/mObPQ= github.com/asim/go-micro/plugins/server/http/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:wRBB/5jFZCFGnuzP3MfWzqlv7DHpBSn03fjgaCZOaio= @@ -1044,10 +1049,15 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8= github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/jwt v1.1.0 h1:+vOlgtM0ZsF46GbmUoadq0/2rChNS45gtxHEa3H1gqM= +github.com/nats-io/jwt v1.1.0/go.mod h1:n3cvmLfBfnpV4JJRN7lRYCyZnw48ksGsbThGXEk4w9M= github.com/nats-io/nats-server/v2 v2.1.6 h1:qAaHZaS8pRRNQLFaiBA1rq5WynyEGp9DFgmMfoaiXGY= github.com/nats-io/nats-server/v2 v2.1.6/go.mod h1:BL1NOtaBQ5/y97djERRVWNouMW7GT3gxnmbE/eC8u8A= +github.com/nats-io/nats-server/v2 v2.1.9/go.mod h1:9qVyoewoYXzG1ME9ox0HwkkzyYvnlBDugfR4Gg/8uHU= github.com/nats-io/nats.go v1.9.2 h1:oDeERm3NcZVrPpdR/JpGdWHMv3oJ8yY30YwxKq+DU2s= github.com/nats-io/nats.go v1.9.2/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= +github.com/nats-io/nats.go v1.10.0 h1:L8qnKaofSfNFbXg0C5F71LdjPRnmQwSsA4ukmkt1TvY= +github.com/nats-io/nats.go v1.10.0/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.4 h1:aEsHIssIk6ETN5m2/MD8Y4B2X7FfXrBAUdkyRvbVYzA= github.com/nats-io/nkeys v0.1.4/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= diff --git a/accounts/pkg/service/v0/service.go b/accounts/pkg/service/v0/service.go index 9c63497e9..abce0efa8 100644 --- a/accounts/pkg/service/v0/service.go +++ b/accounts/pkg/service/v0/service.go @@ -19,6 +19,7 @@ import ( "github.com/owncloud/ocis/accounts/pkg/config" "github.com/owncloud/ocis/accounts/pkg/proto/v0" "github.com/owncloud/ocis/ocis-pkg/log" + oreg "github.com/owncloud/ocis/ocis-pkg/registry" "github.com/owncloud/ocis/ocis-pkg/roles" settings "github.com/owncloud/ocis/settings/pkg/proto/v0" ) @@ -56,6 +57,31 @@ func New(opts ...Option) (s *Service, err error) { repo: createMetadataStorage(cfg, logger), } + retries := 20 + var current int + r := oreg.GetRegistry() + // TODO(refs) we only need to block here IF the accounts index is configured to use the CS3 index. This is because + // the cs3 implementation relies on a storage-metadata backend that runs as a reva service. + for { + if current >= retries { + panic("metadata service failed to start.") + } + s, err := r.GetService("com.owncloud.storage.metadata") + if err != nil { + logger.Error().Err(err).Msg("error getting metadata service from service registry") + } + if len(s) > 0 { + break + } + logger.Info().Msg("accounts blocked waiting for metadata service to be up and running...") + time.Sleep(2 * time.Second) + current++ + } + + // we want to wait anyway. If it depends on a reva service it could be the case that the entry on the registry + // happens prior to the reva service being up and running + time.Sleep(500 * time.Millisecond) + if s.index, err = s.buildIndex(); err != nil { return nil, err } diff --git a/ocis/go.sum b/ocis/go.sum index a4a75d4b3..e45539d5c 100644 --- a/ocis/go.sum +++ b/ocis/go.sum @@ -151,10 +151,14 @@ github.com/asim/go-micro/plugins/logger/zerolog/v3 v3.0.0-20210217182006-0f0ace1 github.com/asim/go-micro/plugins/logger/zerolog/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:haYJgQRcIjFqISVLpuMwj6C5d5WNXqQGxnbBpzdQiI8= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:K/ITrPYRzfvcc8q/n5qJe4P0uSzWPi+Z7FUf4Nme1Js= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:14lNr4KR8mSDL1APh6UUYEo7wYPDPCZs9Oh782vve1M= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:w+mPcKXu8zfmXTKNnUW7p3P765mLUm4g4k6QCifm9Ec= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:niMfAMwnBJTu7He/0IkaBpo9CcUe3x6GnpaDK9cnMLQ= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:B9PDGhVx6Qg0r/XT4x7HqtR0aY1Tb4qRl4ugw9uXD+M= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:UWBk93zeuMU1xQSVqFUzLwYHQCiQsMepIPFXlltysls= github.com/asim/go-micro/plugins/registry/memory/v3 v3.0.0-20210202145831-070250155285 h1:zgDzypD412DKHoXIXW1JwIOWoGcjxzI1iF6JmwtyqHw= github.com/asim/go-micro/plugins/registry/memory/v3 v3.0.0-20210202145831-070250155285/go.mod h1:AU0vyZvsO1lpuQr/DUG4CnNRvITXqQcJRRAzBATR6Jo= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:dnUil65b+/Qbxpm/SNxoXShEWth4ibjQdeiRaLhOp6w= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:2FANWTJORjPl0QU/cHV9aZEuzHUgXGlh+UZc0S16ZEg= github.com/asim/go-micro/plugins/server/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:gpBgZRdVv2c7AVckCm2nRPEGiqccVlBYx0Aiv3u2wFo= github.com/asim/go-micro/plugins/server/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:4cS4mKqylPAybKUO8/mdjTGlBImeAL1RWA2rV/mObPQ= github.com/asim/go-micro/plugins/server/http/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:wRBB/5jFZCFGnuzP3MfWzqlv7DHpBSn03fjgaCZOaio= @@ -1154,10 +1158,15 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8= github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/jwt v1.1.0 h1:+vOlgtM0ZsF46GbmUoadq0/2rChNS45gtxHEa3H1gqM= +github.com/nats-io/jwt v1.1.0/go.mod h1:n3cvmLfBfnpV4JJRN7lRYCyZnw48ksGsbThGXEk4w9M= github.com/nats-io/nats-server/v2 v2.1.6 h1:qAaHZaS8pRRNQLFaiBA1rq5WynyEGp9DFgmMfoaiXGY= github.com/nats-io/nats-server/v2 v2.1.6/go.mod h1:BL1NOtaBQ5/y97djERRVWNouMW7GT3gxnmbE/eC8u8A= +github.com/nats-io/nats-server/v2 v2.1.9/go.mod h1:9qVyoewoYXzG1ME9ox0HwkkzyYvnlBDugfR4Gg/8uHU= github.com/nats-io/nats.go v1.9.2 h1:oDeERm3NcZVrPpdR/JpGdWHMv3oJ8yY30YwxKq+DU2s= github.com/nats-io/nats.go v1.9.2/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= +github.com/nats-io/nats.go v1.10.0 h1:L8qnKaofSfNFbXg0C5F71LdjPRnmQwSsA4ukmkt1TvY= +github.com/nats-io/nats.go v1.10.0/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.4 h1:aEsHIssIk6ETN5m2/MD8Y4B2X7FfXrBAUdkyRvbVYzA= github.com/nats-io/nkeys v0.1.4/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= diff --git a/ocis/pkg/runtime/runtime.go b/ocis/pkg/runtime/runtime.go index 5add88ba0..1dc8dfaa6 100644 --- a/ocis/pkg/runtime/runtime.go +++ b/ocis/pkg/runtime/runtime.go @@ -37,6 +37,7 @@ var ( "proxy", "settings", "store", + "storage-metadata", "storage-frontend", "storage-gateway", "storage-userprovider", @@ -45,21 +46,15 @@ var ( "storage-auth-bearer", "storage-home", "storage-users", - "storage-metadata", "storage-public-link", "thumbnails", "web", "webdav", + "accounts", + "storage-sharing", //"graph", //"graph-explorer", } - - // There seem to be a race condition when reva-sharing needs to read the sharing.json file and the parent folder is not present. - dependants = []string{ - "accounts", - "storage-sharing", - } - // Maximum number of retries until getting a connection to the rpc runtime service. maxRetries = 10 ) @@ -112,7 +107,7 @@ func (r *Runtime) Launch() { client, err = rpc.DialHTTP("tcp", "localhost:10666") if err != nil { try++ - fmt.Println("runtime not available, retrying in 1 second...") + fmt.Println("runtime not available, retrying...") time.Sleep(1 * time.Second) } else { goto OUT @@ -128,24 +123,23 @@ OUT: RunService(client, v) } - if len(dependants) > 0 { - // TODO(refs) this should disappear and tackled at the runtime (pman) level. - // see https://github.com/cs3org/reva/issues/795 for race condition. - // dependants might not be needed on a ocis_simple build, therefore - // it should not be started under these circumstances. - time.Sleep(2 * time.Second) - for _, v := range dependants { - RunService(client, v) - } - } + //if len(dependants) > 0 { + // // TODO(refs) this should disappear and tackled at the runtime (pman) level. + // // see https://github.com/cs3org/reva/issues/795 for race condition. + // // dependants might not be needed on a ocis_simple build, therefore + // // it should not be started under these circumstances. + // time.Sleep(2 * time.Second) + // for _, v := range dependants { + // RunService(client, v) + // } + //} } // RunService sends a Service.Start command with the given service name to pman func RunService(client *rpc.Client, service string) int { args := process.NewProcEntry(service, os.Environ(), []string{service}...) - all := append(Extensions, dependants...) - if !contains(all, service) { + if !contains(Extensions, service) { return 1 } diff --git a/storage/go.mod b/storage/go.mod index 2c608f9ab..472383511 100644 --- a/storage/go.mod +++ b/storage/go.mod @@ -4,6 +4,8 @@ go 1.15 require ( github.com/Masterminds/sprig/v3 v3.2.2 // indirect + github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9 // indirect + github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9 // indirect github.com/asim/go-micro/v3 v3.5.1-0.20210217182006-0f0ace1a44a9 github.com/cs3org/reva v1.6.0 github.com/gofrs/uuid v3.3.0+incompatible diff --git a/storage/go.sum b/storage/go.sum index 3a7959b29..9c0b4f4a6 100644 --- a/storage/go.sum +++ b/storage/go.sum @@ -140,14 +140,19 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0 github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee h1:3T/l+vMotQ7cDSLWNAn2Vg1SAQ3mdyLgBWWBitSS3uU= github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee/go.mod h1:u7Wtt4WATGGgae9mURNGQQqxAudPKrxfsbSDSGOso+g= +github.com/asim/go-micro v1.18.0 h1:k/qyLA5R175Vr1Owf90Ms1+J/zhBf/aa8aiHGhk0x5s= github.com/asim/go-micro/plugins/broker/memory/v3 v3.0.0-20210202145831-070250155285/go.mod h1:IJrBUDk0XAbi0iDg+sKgkY588m311TkSoEAjU9xu/mc= github.com/asim/go-micro/plugins/client/grpc/v3 v3.0.0-20210205090925-e8167a8b79ed/go.mod h1:Mx1EwGdIq7wl5IkKLaGbHtoIC4yvqUNxJtZu6wxsqiU= github.com/asim/go-micro/plugins/client/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:Mx1EwGdIq7wl5IkKLaGbHtoIC4yvqUNxJtZu6wxsqiU= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:K/ITrPYRzfvcc8q/n5qJe4P0uSzWPi+Z7FUf4Nme1Js= github.com/asim/go-micro/plugins/registry/etcd/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:14lNr4KR8mSDL1APh6UUYEo7wYPDPCZs9Oh782vve1M= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:w+mPcKXu8zfmXTKNnUW7p3P765mLUm4g4k6QCifm9Ec= +github.com/asim/go-micro/plugins/registry/kubernetes/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:niMfAMwnBJTu7He/0IkaBpo9CcUe3x6GnpaDK9cnMLQ= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:B9PDGhVx6Qg0r/XT4x7HqtR0aY1Tb4qRl4ugw9uXD+M= github.com/asim/go-micro/plugins/registry/mdns/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:UWBk93zeuMU1xQSVqFUzLwYHQCiQsMepIPFXlltysls= github.com/asim/go-micro/plugins/registry/memory/v3 v3.0.0-20210202145831-070250155285/go.mod h1:AU0vyZvsO1lpuQr/DUG4CnNRvITXqQcJRRAzBATR6Jo= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9 h1:dnUil65b+/Qbxpm/SNxoXShEWth4ibjQdeiRaLhOp6w= +github.com/asim/go-micro/plugins/registry/nats/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:2FANWTJORjPl0QU/cHV9aZEuzHUgXGlh+UZc0S16ZEg= github.com/asim/go-micro/plugins/server/grpc/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:4cS4mKqylPAybKUO8/mdjTGlBImeAL1RWA2rV/mObPQ= github.com/asim/go-micro/plugins/server/http/v3 v3.0.0-20210217182006-0f0ace1a44a9/go.mod h1:Oe0f4zsBx6if1scvMrL/4mNfkD7URaqkvhQWnWogcws= github.com/asim/go-micro/plugins/transport/grpc/v3 v3.0.0-20210202145831-070250155285/go.mod h1:FXWwzJ74gGEIY/gOdDHJqCQuago+tLSkcUPayf9daGM= @@ -1016,8 +1021,13 @@ github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/jwt v1.1.0 h1:+vOlgtM0ZsF46GbmUoadq0/2rChNS45gtxHEa3H1gqM= +github.com/nats-io/jwt v1.1.0/go.mod h1:n3cvmLfBfnpV4JJRN7lRYCyZnw48ksGsbThGXEk4w9M= github.com/nats-io/nats-server/v2 v2.1.6/go.mod h1:BL1NOtaBQ5/y97djERRVWNouMW7GT3gxnmbE/eC8u8A= +github.com/nats-io/nats-server/v2 v2.1.9/go.mod h1:9qVyoewoYXzG1ME9ox0HwkkzyYvnlBDugfR4Gg/8uHU= github.com/nats-io/nats.go v1.9.2/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= +github.com/nats-io/nats.go v1.10.0 h1:L8qnKaofSfNFbXg0C5F71LdjPRnmQwSsA4ukmkt1TvY= +github.com/nats-io/nats.go v1.10.0/go.mod h1:AjGArbfyR50+afOUotNX2Xs5SYHf+CoOa5HH1eEl2HE= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.4/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= diff --git a/storage/pkg/command/storagemetadata.go b/storage/pkg/command/storagemetadata.go index 51c5c790f..65cee8a08 100644 --- a/storage/pkg/command/storagemetadata.go +++ b/storage/pkg/command/storagemetadata.go @@ -7,8 +7,10 @@ import ( "path" "time" - "github.com/cs3org/reva/cmd/revad/runtime" "github.com/gofrs/uuid" + "github.com/owncloud/ocis/storage/pkg/service/external" + + "github.com/cs3org/reva/cmd/revad/runtime" "github.com/micro/cli/v2" "github.com/oklog/run" "github.com/owncloud/ocis/storage/pkg/config" @@ -201,6 +203,14 @@ func StorageMetadata(cfg *config.Config) *cli.Command { }) } + external.RegisterGRPCEndpoint( + ctx, + "com.owncloud.storage.metadata", + uuid.Must(uuid.NewV4()).String(), + cfg.Reva.StorageMetadata.GRPCAddr, + logger, + ) + return gr.Run() }, }