Frontend Service Configuration
Endpoints Overview
Currently, the frontend service handles requests for three functionalities, which are
-
datagateway and
-
ocs.
appprovider
The appprovider endpoint, by default /app
, forwards HTTP requests to the CS3 App Registry API.
archiver
The archiver endpoint, by default /archiver
, implements zip and tar download for collections of files. It will internally use the CS3 API to initiate downloads and then stream the individual files as part of a compressed file.
datagateway
The datagateway endpoint, by default /data
, forwards file up- and download requests to the correct CS3 data provider. OCIS starts a dataprovider as part of the storage-* services. The routing happens based on the JWT that was created by a storage provider in response to an InitiateFileDownload
or InitiateFileUpload
request.
ocs
The ocs endpoint, by default /ocs
, implements the ownCloud 10 Open Collaboration Services API by translating it into CS3 API requests. It can handle users, groups, capabilities and also implements the file sharing functionality on top of CS3. The /ocs/v[12].php/cloud/user/signing-key
is currently handled by the dedicated ocs service.
With the upcoming Infinite Scale release after 4.0.1, an ocs event handler and a new functionality for auto-accepting shares will be added, see the sections below.
Sharing
Aggregating share information is one of the most time consuming operations in OCIS. The service fetches a list of either received or created shares and has to stat every resource individually. While stats are fast, the default behavior scales linearly with the number of shares.
To save network trips the sharing implementation can cache the stat requests with an in memory cache or in redis. It will shorten the response time by the network round-trip overhead at the cost of the API only eventually being updated.
Setting FRONTEND_OCS_RESOURCE_INFO_CACHE_TTL=60
would cache the stat info for 60 seconds. Increasing this value makes sense for large deployments with thousands of active users that keep the cache up to date. Low frequency usage scenarios should not expect a noticeable improvement.
Scalability
While the frontend service does not persist any data, it does cache information about files and filesystem (Stat()
) responses and user information. Therefore, multiple instances of this service can be spawned in a bigger deployment like when using container orchestration with Kubernetes, when configuring FRONTEND_OCS_RESOURCE_INFO_CACHE_STORE
and the related config options.
Define Read-Only Attributes
A lot of user management is done via the standardized LibreGraph API. Depending on how the system is configured, there might be some user attributes that an Infinite Scale instance admin can’t change because of properties coming from an external LDAP server, or similar. This can be the case when the Infinite Scale admin is not the LDAP admin. To make life easier for admins, read-only attributes can be displayed differently, e.g. grayed out. To configure these hints for the frontend, use the environment variable FRONTEND_READONLY_USER_ATTRIBUTES
, which takes a comma separated list of attributes. See the environment variable for supported values.
Caching
The frontend
service can use a configured store via FRONTEND_OCS_STAT_CACHE_STORE
. Possible stores are:
Store Type | Description |
---|---|
|
Basic in-memory store and the default. |
|
Advanced in-memory store allowing max size. |
|
Stores data in a configured Redis cluster. |
|
Stores data in a configured Redis Sentinel cluster. |
|
Stores data in a configured etcd cluster. |
|
Stores data using the key-value-store feature of NATS JetStream. |
|
Stores nothing. Useful for testing. Not recommended in production environments. |
-
Note that in-memory stores are by nature not reboot-persistent.
-
Though usually not necessary, a database name and a database table can be configured for event stores if the event store supports this. Generally not applicable for stores of type
in-memory
. These settings are blank by default which means that the standard settings of the configured store apply. -
The frontend service can be scaled if not using
in-memory
stores and the stores are configured identically over all instances. -
When using
redis-sentinel
, the Redis master to use is configured viaFRONTEND_OCS_STAT_CACHE_STORE_NODES
in the form of<sentinel-host>:<sentinel-port>/<redis-master>
like10.10.0.200:26379/mymaster
.
Configuration
Environment Variables
The frontend
service is configured via the following environment variables:
Deprecation Info | Deprecation Version | Removal Version | Deprecation Replacement |
---|
Name | Type | Default Value | Description |
---|---|---|---|
|
bool |
false |
Activates tracing. |
|
string |
|
The type of tracing. Defaults to '', which is the same as 'jaeger'. Allowed tracing types are 'jaeger' and '' as of now. |
|
string |
|
The endpoint of the tracing agent. |
|
string |
|
The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. Only used if the tracing endpoint is unset. |
|
string |
|
The log level. Valid values are: 'panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace'. |
|
bool |
false |
Activates pretty log output. |
|
bool |
false |
Activates colorized log output. |
|
string |
|
The path to the log file. Activates logging to this file if set. |
|
string |
127.0.0.1:9141 |
Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed. |
|
string |
|
Token to secure the metrics endpoint. |
|
bool |
false |
Enables pprof, which can be used for profiling. |
|
bool |
false |
Enables zpages, which can be used for collecting and viewing in-memory traces. |
|
string |
127.0.0.1:9140 |
The bind address of the HTTP service. |
|
string |
tcp |
The transport protocol of the HTTP service. |
|
string |
|
The Path prefix where the frontend can be accessed (defaults to /). |
|
[]string |
[*] |
A comma-separated list of allowed CORS origins. See following chapter for more details: Access-Control-Allow-Origin at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin |
|
[]string |
[OPTIONS HEAD GET PUT POST DELETE MKCOL PROPFIND PROPPATCH MOVE COPY REPORT SEARCH] |
A comma-separated list of allowed CORS methods. See following chapter for more details: Access-Control-Request-Method at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Method |
|
[]string |
[Origin Accept Content-Type Depth Authorization Ocs-Apirequest If-None-Match If-Match Destination Overwrite X-Request-Id X-Requested-With Tus-Resumable Tus-Checksum-Algorithm Upload-Concat Upload-Length Upload-Metadata Upload-Defer-Length Upload-Expires Upload-Checksum Upload-Offset X-HTTP-Method-Override Cache-Control] |
A blank or comma-separated list of allowed CORS headers. See following chapter for more details: Access-Control-Request-Headers at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Headers. |
|
bool |
true |
Allow credentials for CORS.See following chapter for more details: Access-Control-Allow-Credentials at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials. |
|
string |
|
Transfer secret for signing file up- and download requests. |
|
string |
|
The secret to mint and validate jwt tokens. |
|
string |
com.owncloud.api.gateway |
The CS3 gateway endpoint. |
|
string |
|
TLS mode for grpc connection to the go-micro based grpc services. Possible values are 'off', 'insecure' and 'on'. 'off': disables transport security for the clients. 'insecure' allows using transport security, but disables certificate verification (to be used with the autogenerated self-signed certificates). 'on' enables transport security, including server certificate verification. |
|
string |
|
Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the go-micro based grpc services. |
|
string |
|
The machine auth API key used to validate internal requests necessary to access resources from other services. |
|
bool |
false |
Disables the loading of user’s group memberships from the reva access token. |
|
bool |
false |
Enables the support for favorites in the clients. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that project spaces are supposed to be made available. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that the share jail is supposed to be used. |
|
uint64 |
0 |
Set the global max quota value in bytes. A value of 0 equals unlimited. The value is provided via capabilities. |
|
int |
10000000 |
Sets the max chunk sizes in bytes for uploads via the clients. |
|
string |
|
Advise TUS to replace PATCH requests by POST requests. |
|
string |
tus |
The default upload protocol to use in the clients (e.g. tus). |
|
bool |
true |
Changing this value is NOT supported. Enables the support for resharing in the clients. |
|
bool |
false |
Changing this value is NOT supported. Enables support for incoming federated sharing for clients. The backend behaviour is not changed. |
|
bool |
false |
Changing this value is NOT supported. Enables support for outgoing federated sharing for clients. The backend behaviour is not changed. |
|
int |
3 |
Minimum number of characters to enter before a client should start a search for Share receivers. This setting can be used to customize the user experience if e.g too many results are displayed. |
|
string |
Community |
|
|
bool |
false |
When set to true, clients are informed that the Server-Sent Events endpoint is not accessible. |
|
string |
https://localhost:9200 |
The public facing URL of the oCIS frontend. |
|
bool |
false |
Allow insecure connections to the frontend. |
|
int64 |
10000 |
Max number of files that can be packed into an archive. |
|
int64 |
1073741824 |
Max size in bytes of the zip archive the archiver can create. |
|
bool |
false |
Allow insecure connections to the archiver. |
|
string |
data |
Path prefix for the data gateway. |
|
string |
ocs |
URL path prefix for the OCS service. Note that the string must not start with '/'. |
|
string |
/Shares |
Path prefix for shares as part of an ocis resource. Note that the path must start with '/'. |
|
string |
/users/{{.Id.OpaqueId}} |
Homespace namespace identifier. |
|
string |
{{.Mail}} |
Additional information attribute for the user like {{.Mail}}. |
|
string |
noop |
The type of the cache store. Supported values are: 'memory', 'ocmem', 'etcd', 'redis', 'redis-sentinel', 'nats-js', 'noop'. See the text description for details. |
|
[]string |
[] |
A comma separated list of nodes to access the configured store. This has no effect when 'memory' or 'ocmem' stores are configured. Note that the behaviour how nodes are used is dependent on the library of the configured store. |
|
string |
ocis |
The database name the configured store should use. |
|
string |
|
The database table the store should use. |
|
Duration |
5m0s |
Default time to live for user info in the cache. Only applied when access tokens has no expiration. The duration can be set as number followed by a unit identifier like s, m or h. Defaults to '300s' (300 seconds). |
|
int |
0 |
Max number of entries to hold in the cache. |
|
bool |
false |
EXPERIMENTAL: enable the feature to deny access on folders. |
|
bool |
false |
Set this to true if you want to enforce passwords on Uploader, Editor or Contributor shares. |
|
[]string |
[sha1 md5 adler32] |
Define the checksum types that indicate to clients which hashes the server can use to verify upload integrity. You can provide multiple types separated by blank or comma. Supported types are 'sha1', 'md5' and 'adler32'. |
|
string |
sha1 |
The supported checksum type for uploads that indicates to clients supporting multiple hash algorithms which one is preferred by the server. Must be one out of the defined list of SUPPORTED_TYPES. |
|
[]string |
[] |
Comma separated list of user attributes to indicate as read-only. Supported values: 'user.onPremisesSamAccountName' (username), 'user.displayName', 'user.mail', 'user.passwordProfile' (password), 'user.appRoleAssignments' (role), 'user.memberOf' (groups), 'user.accountEnabled' (login allowed), 'drive.quota' (quota). |
|
bool |
true |
Allow creating, modifying and deleting LDAP users via the GRAPH API. This can only be set to 'true' when keeping default settings for the LDAP user and group attribute types (the 'OCIS_LDAP_USER_SCHEMA_* and 'OCIS_LDAP_GROUP_SCHEMA_* variables). |
|
bool |
false |
|
|
string |
127.0.0.1:9233 |
The address of the event system. The event system is the message queuing service. It is used as message broker for the microservice architecture. |
|
string |
ocis-cluster |
The clusterID of the event system. The event system is the message queuing service. It is used as message broker for the microservice architecture. Mandatory when using NATS as event system. |
|
bool |
false |
Whether to verify the server TLS certificates. |
|
string |
|
The root CA certificate used to validate the server’s TLS certificate. If provided NOTIFICATIONS_EVENTS_TLS_INSECURE will be seen as false. |
|
bool |
false |
Enable TLS for the connection to the events broker. The events broker is the ocis service which receives and delivers events between the services.. |
|
bool |
false |
Defines if shares should be auto accepted by default. Users can change this setting individually in their profile. |
|
string |
|
The ID of the service account the service should use. See the 'auth-service' service description for more details. |
|
string |
|
The service account secret. |
|
int |
0 |
Define the minimum password length. Defaults to 0 if not set. |
|
int |
0 |
Define the minimum number of uppercase letters. Defaults to 0 if not set. |
|
int |
0 |
Define the minimum number of lowercase letters. Defaults to 0 if not set. |
|
int |
0 |
Define the minimum number of digits. Defaults to 0 if not set. |
|
int |
0 |
Define the minimum number of characters from the special characters list to be present. Defaults to 0 if not set. |
|
string |
|
Path to the 'banned passwords list' file. See the documentation for more details. |
Deprecation Info | Deprecation Version | Removal Version | Deprecation Replacement |
---|
Name | Type | Default Value | Description |
---|---|---|---|
|
bool |
false |
Activates tracing. |
|
string |
|
The type of tracing. Defaults to '', which is the same as 'jaeger'. Allowed tracing types are 'jaeger' and '' as of now. |
|
string |
|
The endpoint of the tracing agent. |
|
string |
|
The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. Only used if the tracing endpoint is unset. |
|
string |
|
The log level. Valid values are: 'panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace'. |
|
bool |
false |
Activates pretty log output. |
|
bool |
false |
Activates colorized log output. |
|
string |
|
The path to the log file. Activates logging to this file if set. |
|
string |
127.0.0.1:9141 |
Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed. |
|
string |
|
Token to secure the metrics endpoint. |
|
bool |
false |
Enables pprof, which can be used for profiling. |
|
bool |
false |
Enables zpages, which can be used for collecting and viewing in-memory traces. |
|
string |
127.0.0.1:9140 |
The bind address of the HTTP service. |
|
string |
tcp |
The transport protocol of the HTTP service. |
|
string |
|
The Path prefix where the frontend can be accessed (defaults to /). |
|
[]string |
[*] |
A comma-separated list of allowed CORS origins. See following chapter for more details: Access-Control-Allow-Origin at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin |
|
[]string |
[OPTIONS HEAD GET PUT POST DELETE MKCOL PROPFIND PROPPATCH MOVE COPY REPORT SEARCH] |
A comma-separated list of allowed CORS methods. See following chapter for more details: Access-Control-Request-Method at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Method |
|
[]string |
[Origin Accept Content-Type Depth Authorization Ocs-Apirequest If-None-Match If-Match Destination Overwrite X-Request-Id X-Requested-With Tus-Resumable Tus-Checksum-Algorithm Upload-Concat Upload-Length Upload-Metadata Upload-Defer-Length Upload-Expires Upload-Checksum Upload-Offset X-HTTP-Method-Override Cache-Control] |
A blank or comma-separated list of allowed CORS headers. See following chapter for more details: Access-Control-Request-Headers at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Headers. |
|
bool |
true |
Allow credentials for CORS.See following chapter for more details: Access-Control-Allow-Credentials at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials. |
|
string |
|
Transfer secret for signing file up- and download requests. |
|
string |
|
The secret to mint and validate jwt tokens. |
|
string |
com.owncloud.api.gateway |
The CS3 gateway endpoint. |
|
string |
|
TLS mode for grpc connection to the go-micro based grpc services. Possible values are 'off', 'insecure' and 'on'. 'off': disables transport security for the clients. 'insecure' allows using transport security, but disables certificate verification (to be used with the autogenerated self-signed certificates). 'on' enables transport security, including server certificate verification. |
|
string |
|
Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the go-micro based grpc services. |
|
string |
|
The machine auth API key used to validate internal requests necessary to access resources from other services. |
|
bool |
false |
Disables the loading of user’s group memberships from the reva access token. |
|
bool |
false |
Enables the support for favorites in the clients. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that project spaces are supposed to be made available. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that the share jail is supposed to be used. |
|
uint64 |
0 |
Set the global max quota value in bytes. A value of 0 equals unlimited. The value is provided via capabilities. |
|
int |
100000000 |
Sets the max chunk sizes in bytes for uploads via the clients. |
|
string |
|
Advise TUS to replace PATCH requests by POST requests. |
|
string |
tus |
The default upload protocol to use in the clients (e.g. tus). |
|
bool |
true |
Changing this value is NOT supported. Enables the support for resharing in the clients. |
|
bool |
false |
Changing this value is NOT supported. Enables support for incoming federated sharing for clients. The backend behaviour is not changed. |
|
bool |
false |
Changing this value is NOT supported. Enables support for outgoing federated sharing for clients. The backend behaviour is not changed. |
|
int |
3 |
Minimum number of characters to enter before a client should start a search for Share receivers. This setting can be used to customize the user experience if e.g too many results are displayed. |
|
string |
Community |
|
|
bool |
false |
When set to true, clients are informed that the Server-Sent Events endpoint is not accessible. |
|
string |
https://localhost:9200 |
The public facing URL of the oCIS frontend. |
|
bool |
false |
Allow insecure connections to the frontend. |
|
int64 |
10000 |
Max number of files that can be packed into an archive. |
|
int64 |
1073741824 |
Max size in bytes of the zip archive the archiver can create. |
|
bool |
false |
Allow insecure connections to the archiver. |
|
string |
data |
Path prefix for the data gateway. |
|
string |
ocs |
URL path prefix for the OCS service. Note that the string must not start with '/'. |
|
string |
/Shares |
Path prefix for shares as part of an ocis resource. Note that the path must start with '/'. |
|
string |
/users/{{.Id.OpaqueId}} |
Homespace namespace identifier. |
|
string |
{{.Mail}} |
Additional information attribute for the user like {{.Mail}}. |
|
string |
noop |
The type of the cache store. Supported values are: 'memory', 'ocmem', 'etcd', 'redis', 'redis-sentinel', 'nats-js', 'noop'. See the text description for details. |
|
[]string |
[] |
A comma separated list of nodes to access the configured store. This has no effect when 'memory' or 'ocmem' stores are configured. Note that the behaviour how nodes are used is dependent on the library of the configured store. |
|
string |
ocis |
The database name the configured store should use. |
|
string |
|
The database table the store should use. |
|
Duration |
5m0s |
Default time to live for user info in the cache. Only applied when access tokens has no expiration. The duration can be set as number followed by a unit identifier like s, m or h. Defaults to '300s' (300 seconds). |
|
int |
0 |
Max number of entries to hold in the cache. |
|
bool |
false |
EXPERIMENTAL: enable the feature to deny access on folders. |
|
bool |
false |
Set this to true if you want to enforce passwords on Uploader, Editor or Contributor shares. |
|
[]string |
[sha1 md5 adler32] |
Define the checksum types that indicate to clients which hashes the server can use to verify upload integrity. You can provide multiple types separated by blank or comma. Supported types are 'sha1', 'md5' and 'adler32'. |
|
string |
sha1 |
The supported checksum type for uploads that indicates to clients supporting multiple hash algorithms which one is preferred by the server. Must be one out of the defined list of SUPPORTED_TYPES. |
|
[]string |
[] |
Comma separated list of user attributes to indicate as read-only. Supported values: 'user.onPremisesSamAccountName' (username), 'user.displayName', 'user.mail', 'user.passwordProfile' (password), 'user.appRoleAssignments' (role), 'user.memberOf' (groups), 'user.accountEnabled' (login allowed), 'drive.quota' (quota). |
|
bool |
true |
Allow creating, modifying and deleting LDAP users via the GRAPH API. This can only be set to 'true' when keeping default settings for the LDAP user and group attribute types (the 'OCIS_LDAP_USER_SCHEMA_* and 'OCIS_LDAP_GROUP_SCHEMA_* variables). |
|
bool |
false |
Deprecation Info | Deprecation Version | Removal Version | Deprecation Replacement |
---|---|---|---|
STORAGE_TRANSFER_SECRET changing name for consistency |
3.0 |
4.0.0 |
OCIS_TRANSFER_SECRET |
REVA_GATEWAY changing name for consistency |
3.0 |
4.0.0 |
OCIS_REVA_GATEWAY |
FRONTEND_OCS_HOME_NAMESPACE changing name for consistency |
3.0 |
4.0.0 |
FRONTEND_OCS_PERSONAL_NAMESPACE |
Name | Type | Default Value | Description |
---|---|---|---|
|
bool |
false |
Activates tracing. |
|
string |
|
The type of tracing. Defaults to "", which is the same as "jaeger". Allowed tracing types are "jaeger" and "" as of now. |
|
string |
|
The endpoint of the tracing agent. |
|
string |
|
The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces. Only used if the tracing endpoint is unset. |
|
string |
|
The log level. Valid values are: "panic", "fatal", "error", "warn", "info", "debug", "trace". |
|
bool |
false |
Activates pretty log output. |
|
bool |
false |
Activates colorized log output. |
|
string |
|
The path to the log file. Activates logging to this file if set. |
|
string |
127.0.0.1:9141 |
Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed. |
|
string |
|
Token to secure the metrics endpoint. |
|
bool |
false |
Enables pprof, which can be used for profiling. |
|
bool |
false |
Enables zpages, which can be used for collecting and viewing in-memory traces. |
|
string |
127.0.0.1:9140 |
The bind address of the HTTP service. |
|
string |
tcp |
The transport protocol of the HTTP service. |
|
string |
|
The Path prefix where the frontend can be accessed (defaults to /). |
|
[]string |
[*] |
A comma-separated list of allowed CORS origins. See following chapter for more details: Access-Control-Allow-Origin at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin |
|
[]string |
[OPTIONS HEAD GET PUT POST DELETE MKCOL PROPFIND PROPPATCH MOVE COPY REPORT SEARCH] |
A comma-separated list of allowed CORS methods. See following chapter for more details: Access-Control-Request-Method at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Method |
|
[]string |
[Origin Accept Content-Type Depth Authorization Ocs-Apirequest If-None-Match If-Match Destination Overwrite X-Request-Id X-Requested-With Tus-Resumable Tus-Checksum-Algorithm Upload-Concat Upload-Length Upload-Metadata Upload-Defer-Length Upload-Expires Upload-Checksum Upload-Offset X-HTTP-Method-Override] |
A comma-separated list of allowed CORS headers. See following chapter for more details: Access-Control-Request-Headers at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Headers. |
|
bool |
true |
Allow credentials for CORS.See following chapter for more details: Access-Control-Allow-Credentials at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials. |
|
string |
|
Transfer secret for signing file up- and download requests. |
|
string |
|
The secret to mint and validate jwt tokens. |
|
string |
127.0.0.1:9142 |
The CS3 gateway endpoint. |
|
string |
|
TLS mode for grpc connection to the go-micro based grpc services. Possible values are 'off', 'insecure' and 'on'. 'off': disables transport security for the clients. 'insecure' allows using transport security, but disables certificate verification (to be used with the autogenerated self-signed certificates). 'on' enables transport security, including server certificate verification. |
|
string |
|
Path/File name for the root CA certificate (in PEM format) used to validate TLS server certificates of the go-micro based grpc services. |
|
string |
|
The machine auth API key used to validate internal requests necessary to access resources from other services. |
|
bool |
false |
Disables the loading of user’s group memberships from the reva access token. |
|
bool |
false |
Enables the support for favorites in the clients. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that project spaces are supposed to be made available. |
|
bool |
true |
Changing this value is NOT supported. Indicates to clients that the share jail is supposed to be used. |
|
uint64 |
0 |
Set the global max quota value in bytes. A value of 0 equals unlimited. The value is provided via capabilities. |
|
int |
100000000 |
Sets the max chunk sizes in bytes for uploads via the clients. |
|
string |
|
Advise TUS to replace PATCH requests by POST requests. |
|
string |
tus |
The default upload protocol to use in the clients (e.g. tus). |
|
bool |
true |
Changing this value is NOT supported. Enables the support for resharing in the clients. |
|
bool |
false |
Changing this value is NOT supported. Enables support for incoming federated sharing for clients. The backend behaviour is not changed. |
|
bool |
false |
Changing this value is NOT supported. Enables support for outgoing federated sharing for clients. The backend behaviour is not changed. |
|
int |
3 |
Minimum number of characters to enter before a client should start a search for Share receivers. This setting can be used to customize the user experience if e.g too many results are displayed. |
|
string |
Community |
|
|
string |
https://localhost:9200 |
The public facing URL of the oCIS frontend. |
|
bool |
false |
Allow insecure connections to the frontend. |
|
int64 |
10000 |
Max number of files that can be packed into an archive. |
|
int64 |
1073741824 |
Max size in bytes of the zip archive the archiver can create. |
|
bool |
false |
Allow insecure connections to the archiver. |
|
string |
data |
Path prefix for the data gateway. |
|
string |
ocs |
URL path prefix for the OCS service. Note that the string must not start with '/'. |
|
string |
/Shares |
Path prefix for shares as part of an ocis resource. Note that the path must start with '/'. |
|
string |
/users/{{.Id.OpaqueId}} |
Homespace namespace identifier. |
|
string |
{{.Mail}} |
Additional information attribute for the user like {{.Mail}}. |
|
string |
noop |
The type of the cache store. Supported values are: 'memory', 'ocmem', 'etcd', 'redis', 'redis-sentinel', 'nats-js', 'noop'. See the text description for details. |
|
[]string |
[] |
A comma separated list of nodes to access the configured store. This has no effect when 'memory' or 'ocmem' stores are configured. Note that the behaviour how nodes are used is dependent on the library of the configured store. |
|
string |
ocis |
The database name the configured store should use. |
|
string |
|
The database table the store should use. |
|
Duration |
5m0s |
Default time to live for user info in the cache. Only applied when access tokens has no expiration. The duration can be set as number followed by a unit identifier like s, m or h. Defaults to '300s' (300 seconds). |
|
int |
0 |
Max number of entries to hold in the cache. |
|
bool |
false |
EXPERIMENTAL: enable the feature to deny access on folders. |
|
bool |
false |
Set this to true if you want to enforce passwords on Uploader, Editor or Contributor shares. |
|
[]string |
[sha1 md5 adler32] |
Define the checksum types that indicate to clients which hashes the server can use to verify upload integrity. You can provide multiple types separated by blank or comma. Supported types are 'sha1', 'md5' and 'adler32'. |
|
string |
sha1 |
The supported checksum type for uploads that indicates to clients supporting multiple hash algorithms which one is preferred by the server. Must be one out of the defined list of SUPPORTED_TYPES. |
|
[]string |
[] |
Comma separated list of user attributes to indicate as read-only. Supported values: 'user.onPremisesSamAccountName' (username), 'user.displayName', 'user.mail', 'user.passwordProfile' (password), 'user.appRoleAssignments' (role), 'user.accountEnabled' (login allowed), 'drive.quota' (quota). |
|
bool |
true |
Allow creating, modifying and deleting LDAP users via the GRAPH API. This can only be set to 'true' when keeping default settings for the LDAP user and group attribute types (the 'OCIS_LDAP_USER_SCHEMA_* and 'OCIS_LDAP_GROUP_SCHEMA_* variables). |
|
bool |
false |
YAML Example
Note that the filename shown below has been chosen on purpose.
See the Configuration File Naming for details when setting up your own configuration.
# Autogenerated
# Filename: frontend-config-example.yaml
tracing:
enabled: false
type: ""
endpoint: ""
collector: ""
log:
level: ""
pretty: false
color: false
file: ""
debug:
addr: 127.0.0.1:9141
token: ""
pprof: false
zpages: false
http:
addr: 127.0.0.1:9140
protocol: tcp
prefix: ""
cors:
allow_origins:
- '*'
allow_methods:
- OPTIONS
- HEAD
- GET
- PUT
- POST
- DELETE
- MKCOL
- PROPFIND
- PROPPATCH
- MOVE
- COPY
- REPORT
- SEARCH
allow_headers:
- Origin
- Accept
- Content-Type
- Depth
- Authorization
- Ocs-Apirequest
- If-None-Match
- If-Match
- Destination
- Overwrite
- X-Request-Id
- X-Requested-With
- Tus-Resumable
- Tus-Checksum-Algorithm
- Upload-Concat
- Upload-Length
- Upload-Metadata
- Upload-Defer-Length
- Upload-Expires
- Upload-Checksum
- Upload-Offset
- X-HTTP-Method-Override
- Cache-Control
allow_credentials: true
transfer_secret: ""
token_manager:
jwt_secret: ""
reva:
address: com.owncloud.api.gateway
tls:
mode: ""
cacert: ""
machine_auth_api_key: ""
skip_user_groups_in_token: false
enable_favorites: false
enable_project_spaces: true
enable_share_jail: true
max_quota: 0
upload_max_chunk_size: 10000000
upload_http_method_override: ""
default_upload_protocol: tus
enable_resharing: true
enable_federated_sharing_incoming: false
enable_federated_sharing_outgoing: false
search_min_length: 3
edition: Community
disable_sse: false
public_url: https://localhost:9200
app_handler:
insecure: false
archiver:
max_num_files: 10000
max_size: 1073741824
insecure: false
data_gateway:
prefix: data
ocs:
prefix: ocs
share_prefix: /Shares
home_namespace: /users/{{.Id.OpaqueId}}
additional_info_attribute: '{{.Mail}}'
stat_cache_type: noop
stat_cache_nodes: []
stat_cache_database: ocis
stat_cache_table: ""
stat_cache_ttl: 5m0s
stat_cache_size: 0
enable_denials: false
public_sharing_writeableshare_must_have_password: false
checksums:
supported_types:
- sha1
- md5
- adler32
preferred_upload_type: sha1
read_only_user_attributes: []
ldap_server_write_enabled: true
full_text_search: false
middleware:
auth:
credentials_by_user_agent: {}
events:
endpoint: 127.0.0.1:9233
cluster: ocis-cluster
tls_insecure: false
tls_root_ca_certificate: ""
enable_tls: false
grpc_client_tls: null
auto_accept_shares: false
service_account:
service_account_id: ""
service_account_secret: ""
password_policy:
min_lowercase_characters: 0
min_uppercase_characters: 0
min_digits: 0
min_special_characters: 0
banned_passwords_list: ""
# Autogenerated
# Filename: frontend-config-example.yaml
tracing:
enabled: false
type: ""
endpoint: ""
collector: ""
log:
level: ""
pretty: false
color: false
file: ""
debug:
addr: 127.0.0.1:9141
token: ""
pprof: false
zpages: false
http:
addr: 127.0.0.1:9140
protocol: tcp
prefix: ""
cors:
allow_origins:
- '*'
allow_methods:
- OPTIONS
- HEAD
- GET
- PUT
- POST
- DELETE
- MKCOL
- PROPFIND
- PROPPATCH
- MOVE
- COPY
- REPORT
- SEARCH
allow_headers:
- Origin
- Accept
- Content-Type
- Depth
- Authorization
- Ocs-Apirequest
- If-None-Match
- If-Match
- Destination
- Overwrite
- X-Request-Id
- X-Requested-With
- Tus-Resumable
- Tus-Checksum-Algorithm
- Upload-Concat
- Upload-Length
- Upload-Metadata
- Upload-Defer-Length
- Upload-Expires
- Upload-Checksum
- Upload-Offset
- X-HTTP-Method-Override
- Cache-Control
allow_credentials: true
transfer_secret: ""
token_manager:
jwt_secret: ""
reva:
address: com.owncloud.api.gateway
tls:
mode: ""
cacert: ""
machine_auth_api_key: ""
skip_user_groups_in_token: false
enable_favorites: false
enable_project_spaces: true
enable_share_jail: true
max_quota: 0
upload_max_chunk_size: 100000000
upload_http_method_override: ""
default_upload_protocol: tus
enable_resharing: true
enable_federated_sharing_incoming: false
enable_federated_sharing_outgoing: false
search_min_length: 3
edition: Community
disable_sse: false
public_url: https://localhost:9200
app_handler:
insecure: false
archiver:
max_num_files: 10000
max_size: 1073741824
insecure: false
data_gateway:
prefix: data
ocs:
prefix: ocs
share_prefix: /Shares
home_namespace: /users/{{.Id.OpaqueId}}
additional_info_attribute: '{{.Mail}}'
stat_cache_type: noop
stat_cache_nodes: []
stat_cache_database: ocis
stat_cache_table: ""
stat_cache_ttl: 5m0s
stat_cache_size: 0
enable_denials: false
public_sharing_writeableshare_must_have_password: false
checksums:
supported_types:
- sha1
- md5
- adler32
preferred_upload_type: sha1
read_only_user_attributes: []
ldap_server_write_enabled: true
full_text_search: false
middleware:
auth:
credentials_by_user_agent: {}
# Autogenerated
# Filename: frontend-config-example.yaml
tracing:
enabled: false
type: ""
endpoint: ""
collector: ""
log:
level: ""
pretty: false
color: false
file: ""
debug:
addr: 127.0.0.1:9141
token: ""
pprof: false
zpages: false
http:
addr: 127.0.0.1:9140
protocol: tcp
prefix: ""
cors:
allow_origins:
- '*'
allow_methods:
- OPTIONS
- HEAD
- GET
- PUT
- POST
- DELETE
- MKCOL
- PROPFIND
- PROPPATCH
- MOVE
- COPY
- REPORT
- SEARCH
allow_headers:
- Origin
- Accept
- Content-Type
- Depth
- Authorization
- Ocs-Apirequest
- If-None-Match
- If-Match
- Destination
- Overwrite
- X-Request-Id
- X-Requested-With
- Tus-Resumable
- Tus-Checksum-Algorithm
- Upload-Concat
- Upload-Length
- Upload-Metadata
- Upload-Defer-Length
- Upload-Expires
- Upload-Checksum
- Upload-Offset
- X-HTTP-Method-Override
allow_credentials: true
transfer_secret: ""
token_manager:
jwt_secret: ""
reva:
address: 127.0.0.1:9142
tls:
mode: ""
cacert: ""
machine_auth_api_key: ""
skip_user_groups_in_token: false
enable_favorites: false
enable_project_spaces: true
enable_share_jail: true
max_quota: 0
upload_max_chunk_size: 100000000
upload_http_method_override: ""
default_upload_protocol: tus
enable_resharing: true
enable_federated_sharing_incoming: false
enable_federated_sharing_outgoing: false
search_min_length: 3
edition: Community
public_url: https://localhost:9200
app_handler:
insecure: false
archiver:
max_num_files: 10000
max_size: 1073741824
insecure: false
data_gateway:
prefix: data
ocs:
prefix: ocs
share_prefix: /Shares
home_namespace: /users/{{.Id.OpaqueId}}
additional_info_attribute: '{{.Mail}}'
stat_cache_type: noop
stat_cache_nodes: []
stat_cache_database: ocis
stat_cache_table: ""
stat_cache_ttl: 5m0s
stat_cache_size: 0
enable_denials: false
public_sharing_writeableshare_must_have_password: false
checksums:
supported_types:
- sha1
- md5
- adler32
preferred_upload_type: sha1
read_only_user_attributes: []
ldap_server_write_enabled: true
full_text_search: false
middleware:
auth:
credentials_by_user_agent: {}