Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change default paths for oCIS services #1620

Closed
exalate-issue-sync bot opened this issue Feb 10, 2021 · 4 comments · Fixed by #2590
Closed

change default paths for oCIS services #1620

exalate-issue-sync bot opened this issue Feb 10, 2021 · 4 comments · Fixed by #2590

Comments

@exalate-issue-sync
Copy link

exalate-issue-sync bot commented Feb 10, 2021

Current situation
oCIS extentions use /var/tmp/ocis as default storage root. The tmp section in the path suggests that this contains temporary data, which is not true for non-dev environments.
The storage root also cannot be easily changed for oCIS in general because there are 10+ config options (at least each extension has one) you need to set.

Example for a current default storage location configuration option:

–storage-ocis-root | $STORAGE_DRIVER_OCIS_ROOT
the path to the local storage root. Default: /var/tmp/ocis/storage/users

Wanted situation
There must be an option to change the storage root with one configuration option (env, file, cli) like already done with OCIS_URL. If a more specific configuration (like STORAGE_DRIVER_OCIS_ROOT from the example above) is set, it will win over that global configuration option (just like for OCIS_URL).

The default for the new storage root location varies between the build artifact / packaging:

  • For developers and our binary release, the default path must be the folder .ocis in the home directory of the user running oCIS. This must also respect wether oCIS runs on Linux, MacOS or Windows.
  • For our docker images the default path must be /var/lib/ocis
    The default path must be specified on compile time to enable packing dependant paths in the future.

User Stories

  • As an admin of an oCIS instance I want to freely select where oCIS stores its data.
  • As an maintainer of oCIS packages for operating system x / distrbution x I want to freely change the default storage location.
  • As an developer of oCIS I want to run oCIS without messing around with folders and permissions beforehand.

Acceptance Critiera

  • the default storage location can be set on compile time
  • a non default storage location can be configured with one ENV-variable / command-line-flag / config option
  • the default storage location is /var/lib/ocis for our docker images
  • all extensions of oCIS store their data inside /var/lib/ocis when using our docker image without changing the default storage location
  • all extensions of oCIS store their data inside ~/.ocis when using the binary release on linux without changing the default storage location
  • documentation reflects the added / changed configuration options
@exalate-issue-sync
Copy link
Author

Willy Kloucek commented: started in #1048

@exalate-issue-sync
Copy link
Author

Willy Kloucek commented: Needs a decsion how to do it:

  • /var/lib/... is not writable for users (developers)
  • /home/... is not intended for services
  • should /var/lib/... only be used for "packaged" oCIS?

-> set up meeting

@exalate-issue-sync
Copy link
Author

Klaas Freitag commented: Meeting has happened. Decisions as documented above.

Traditional Linux packages are supposed to use the /var/lib/ocis path as well. For that, a way to configure that path at compile time should be available.

@stale
Copy link

stale bot commented Jun 29, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant