Skip to content

Merge reva into opencloud repo #2498

@rhafer

Description

@rhafer

To ease maintenance and reduce technical debt we'd like to have reva and opencloud would live in the same repository. But before just merging both it would make sense to clean up reva and remove/rework unneeded pieces.

Benefits:

  • No go mod replace magic needed for implementing/testing new features. Just a single PR to the opencloud repo
  • better testing during development (currently the acceptance test in reva are just a subset of what is tested in opencloud)
  • potentially get rid of duplicated code (e.g. in the webdav service)
  • less steep learning curve for newcomers and external contributors

Steps towards merging the repos

  • remove unneeded managers from the services (sharing, app-token, users, groups, public shares, ocm, auth, token) and only keep those that a really needed (e.g. jsoncs3, memory(?), depending on the service)
  • remove unneeded store implementations (which ones do we really need?)
  • check code base for unused services and remove them (what's the preferences server good for?)
  • remove unused/unsupported storage drivers, we only need: decomposed, decomposeds3, posix. What about ocis and s3ng?
  • remove everything related to eos
  • remove cli tools
  • get rid of pkg/sharedconf
  • Do we still need:
    • pkg/mentix
    • pkg/metrics
    • pkg/micro
    • pkg/sdk
  • Remove pkg/plugin

After merging:

  • get rid of service config abstraction ("opencloud config struct" -> "mapstructure" -> "reva config struct")
  • remove code duplication in reva and opencloud (e.g. webdav/ocdav or LDAP code in the graph service)

Other (long term):

  • avoid using Opaque properties in CS3 APIs, extend the CS3API where needed (fork CS3API?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions