From 6faa9862f08751a3fcd76214effff4b85f8e5ede Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Thu, 26 Oct 2023 14:46:55 +0200 Subject: [PATCH 1/4] Print plugin version --- cmd/revad/main.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/cmd/revad/main.go b/cmd/revad/main.go index 0a889abfec..c16ddd7251 100644 --- a/cmd/revad/main.go +++ b/cmd/revad/main.go @@ -27,6 +27,7 @@ import ( "path" "reflect" "regexp" + "runtime/debug" "strings" "sync" "syscall" @@ -123,12 +124,17 @@ func handlePluginsFlag() { // For now we just list all the plugins. plugins := reva.GetPlugins("") grouped := groupByNamespace(plugins) + bi, ok := debug.ReadBuildInfo() + if !ok { + bi = &debug.BuildInfo{} + } count := 0 for ns, plugins := range grouped { fmt.Printf("[%s]\n", ns) for _, p := range plugins { - fmt.Printf("%s -> %s\n", p.ID.Name(), pkgOfFunction(p.New)) + pkgName := pkgOfFunction(p.New) + fmt.Printf("%s -> %s (%s)\n", p.ID.Name(), pkgName, pkgVersion(bi.Deps, pkgName)) } count++ if len(grouped) != count { @@ -148,6 +154,15 @@ func pkgOfFunction(f any) string { return name[:i] } +func pkgVersion(deps []*debug.Module, name string) string { + for _, dep := range deps { + if strings.HasPrefix(name, dep.Path) { + return dep.Version + } + } + return "" +} + func groupByNamespace(plugins []reva.PluginInfo) map[string][]reva.PluginInfo { m := make(map[string][]reva.PluginInfo) for _, p := range plugins { From 392bcc85a09183ffd5bf0aef56637c88b51d6f7c Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Thu, 26 Oct 2023 14:49:04 +0200 Subject: [PATCH 2/4] add changelog --- changelog/unreleased/plugin-versions.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changelog/unreleased/plugin-versions.md diff --git a/changelog/unreleased/plugin-versions.md b/changelog/unreleased/plugin-versions.md new file mode 100644 index 0000000000..56d348dea7 --- /dev/null +++ b/changelog/unreleased/plugin-versions.md @@ -0,0 +1,3 @@ +Enhancement: Print plugins' version + +https://github.com/cs3org/reva/pull/4288 From 1d5ff8c5a8230fab5741b2a54440250443497081 Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Thu, 26 Oct 2023 16:16:51 +0200 Subject: [PATCH 3/4] sort namespaces to get stable output --- cmd/revad/main.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/revad/main.go b/cmd/revad/main.go index c16ddd7251..1bbcfed68f 100644 --- a/cmd/revad/main.go +++ b/cmd/revad/main.go @@ -23,6 +23,8 @@ import ( "fmt" "io" "io/fs" + "slices" + "os" "path" "reflect" @@ -41,6 +43,7 @@ import ( "github.com/cs3org/reva/pkg/logger" "github.com/cs3org/reva/pkg/plugin" "github.com/cs3org/reva/pkg/sysinfo" + "github.com/cs3org/reva/pkg/utils/maps" "github.com/google/uuid" "github.com/pkg/errors" "github.com/rs/zerolog" @@ -129,8 +132,13 @@ func handlePluginsFlag() { bi = &debug.BuildInfo{} } + namespaces := maps.Keys(grouped) + slices.Sort(namespaces) + count := 0 - for ns, plugins := range grouped { + for _, ns := range namespaces { + plugins := grouped[ns] + fmt.Printf("[%s]\n", ns) for _, p := range plugins { pkgName := pkgOfFunction(p.New) From 1888ce59df2c629b44e268896fdf4d8be597b932 Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Fri, 27 Oct 2023 15:15:57 +0200 Subject: [PATCH 4/4] use go1.21 for revad-ceph docker image --- docker/Dockerfile.revad-ceph | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker/Dockerfile.revad-ceph b/docker/Dockerfile.revad-ceph index 0c67918866..311b719634 100644 --- a/docker/Dockerfile.revad-ceph +++ b/docker/Dockerfile.revad-ceph @@ -26,12 +26,12 @@ RUN dnf update --exclude=ceph-iscsi -y && dnf install -y \ librbd-devel \ librados-devel -ADD https://golang.org/dl/go1.19.linux-amd64.tar.gz \ - go1.19.linux-amd64.tar.gz +ADD https://go.dev/dl/go1.21.3.linux-amd64.tar.gz \ + go1.21.3.linux-amd64.tar.gz RUN rm -rf /usr/local/go && \ - tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz && \ - rm go1.19.linux-amd64.tar.gz + tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz && \ + rm go1.21.3.linux-amd64.tar.gz ENV PATH /go/bin:/usr/local/go/bin:$PATH ENV GOPATH /go @@ -44,8 +44,8 @@ ARG VERSION ENV GIT_COMMIT=$GIT_COMMIT ENV VERSION=$VERSION RUN mkdir -p /go/bin && \ - make revad-ceph && \ - cp /go/src/github/cs3org/reva/cmd/revad/revad /usr/bin/revad + make revad-ceph && \ + cp /go/src/github/cs3org/reva/cmd/revad/revad /usr/bin/revad RUN cp -r examples/ceph /etc/