Files
opencloud/services/storage-system
Jörn Friedrich Dreyer 7a22dfb6de NotifyContext when running services standalone
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2024-07-24 13:26:58 +02:00
..
2022-06-27 14:05:36 +02:00
2023-12-15 13:25:10 +01:00

Storage-System

Purpose and description to be added

Deprecated Metadata Backend

Starting with ocis version 3.0.0, the default backend for metadata switched to messagepack. If the setting STORAGE_SYSTEM_OCIS_METADATA_BACKEND has not been defined manually, the backend will be migrated to messagepack automatically. Though still possible to manually configure xattrs, this setting should not be used anymore as it will be removed in a later version.

Caching

The storage-system service caches file metadata via the configured store in STORAGE_SYSTEM_CACHE_STORE. Possible stores are:

  • memory: Basic in-memory store and the default.
  • redis-sentinel: Stores data in a configured Redis Sentinel cluster.
  • nats-js-kv: Stores data using key-value-store feature of nats jetstream
  • noop: Stores nothing. Useful for testing. Not recommended in production environments.
  • ocmem: Advanced in-memory store allowing max size. (deprecated)
  • redis: Stores data in a configured Redis cluster. (deprecated)
  • etcd: Stores data in a configured etcd cluster. (deprecated)
  • nats-js: Stores data using object-store feature of nats jetstream (deprecated)

Other store types may work but are not supported currently.

Note: The service can only be scaled if not using memory store and the stores are configured identically over all instances!

Note that if you have used one of the deprecated stores, you should reconfigure to one of the supported ones as the deprecated stores will be removed in a later version.

Store specific notes:

  • When using redis-sentinel, the Redis master to use is configured via e.g. OCIS_CACHE_STORE_NODES in the form of <sentinel-host>:<sentinel-port>/<redis-master> like 10.10.0.200:26379/mymaster.
  • When using nats-js-kv it is recommended to set OCIS_CACHE_STORE_NODES to the same value as OCIS_EVENTS_ENDPOINT. That way the cache uses the same nats instance as the event bus.
  • When using the nats-js-kv store, it is possible to set OCIS_CACHE_DISABLE_PERSISTENCE to instruct nats to not persist cache data on disc.