ownCloud
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

ocDAV

Abstract

The ocdav service provides the WebDAV API which is required by ownCloud clients. Previews (thumbnails) are provided by the WebDAV service.

Table of Contents

Example Yaml Config

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Autogenerated
# Filename: ocdav-config-example.yaml

tracing:
  enabled: false
  type: ""
  endpoint: ""
  collector: ""
log:
  level: ""
  pretty: false
  color: false
  file: ""
debug:
  addr: 127.0.0.1:9163
  token: ""
  pprof: false
  zpages: false
http:
  addr: 127.0.0.1:0
  protocol: tcp
  prefix: ""
  cors:
    allow_origins:
    - https://localhost:9200
    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: false
token_manager:
  jwt_secret: ""
reva:
  address: com.owncloud.api.gateway
  tls:
    mode: ""
    cacert: ""
skip_user_groups_in_token: false
webdav_namespace: /users/{{.Id.OpaqueId}}
files_namespace: /users/{{.Id.OpaqueId}}
shares_namespace: /Shares
ocm_namespace: /public
public_url: https://localhost:9200
insecure: false
gateway_request_timeout: 84300
machine_auth_api_key: ""
allow_propfind_depth_infinity: false

Environment Variables

Name Type Default Value Description
OCIS_TRACING_ENABLED
OCDAV_TRACING_ENABLED
bool false Activates tracing.
OCIS_TRACING_TYPE
OCDAV_TRACING_TYPE
string The type of tracing. Defaults to ‘’, which is the same as ‘jaeger’. Allowed tracing types are ‘jaeger’ and ’’ as of now.
OCIS_TRACING_ENDPOINT
OCDAV_TRACING_ENDPOINT
string The endpoint of the tracing agent.
OCIS_TRACING_COLLECTOR
OCDAV_TRACING_COLLECTOR
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.
OCIS_LOG_LEVEL
OCDAV_LOG_LEVEL
string The log level. Valid values are: ‘panic’, ‘fatal’, ’error’, ‘warn’, ‘info’, ‘debug’, ’trace’.
OCIS_LOG_PRETTY
OCDAV_LOG_PRETTY
bool false Activates pretty log output.
OCIS_LOG_COLOR
OCDAV_LOG_COLOR
bool false Activates colorized log output.
OCIS_LOG_FILE
OCDAV_LOG_FILE
string The path to the log file. Activates logging to this file if set.
OCDAV_DEBUG_ADDR string 127.0.0.1:9163 Bind address of the debug server, where metrics, health, config and debug endpoints will be exposed.
OCDAV_DEBUG_TOKEN string Token to secure the metrics endpoint.
OCDAV_DEBUG_PPROF bool false Enables pprof, which can be used for profiling.
OCDAV_DEBUG_ZPAGES bool false Enables zpages, which can be used for collecting and viewing in-memory traces.
OCDAV_HTTP_ADDR string 127.0.0.1:0 The bind address of the HTTP service.
OCDAV_HTTP_PROTOCOL string tcp The transport protocol of the HTTP service.
OCDAV_HTTP_PREFIX string A URL path prefix for the handler.
OCIS_CORS_ALLOW_ORIGINS
OCDAV_CORS_ALLOW_ORIGINS
[]string [https://localhost:9200] A 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. See the Environment Variable Types description for more details.
OCIS_CORS_ALLOW_METHODS
OCDAV_CORS_ALLOW_METHODS
[]string [OPTIONS HEAD GET PUT POST DELETE MKCOL PROPFIND PROPPATCH MOVE COPY REPORT SEARCH] A 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. See the Environment Variable Types description for more details.
OCIS_CORS_ALLOW_HEADERS
OCDAV_CORS_ALLOW_HEADERS
[]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 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. See the Environment Variable Types description for more details.
OCIS_CORS_ALLOW_CREDENTIALS
OCDAV_CORS_ALLOW_CREDENTIALS
bool false 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.
OCIS_JWT_SECRET
OCDAV_JWT_SECRET
string The secret to mint and validate jwt tokens.
OCIS_REVA_GATEWAY string com.owncloud.api.gateway The CS3 gateway endpoint.
OCIS_GRPC_CLIENT_TLS_MODE 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.
OCIS_GRPC_CLIENT_TLS_CACERT 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.
OCDAV_SKIP_USER_GROUPS_IN_TOKEN bool false Disables the loading of user’s group memberships from the reva access token.
OCDAV_WEBDAV_NAMESPACE string /users/{{.Id.OpaqueId}} Jail requests to /dav/webdav into this CS3 namespace. Supports template layouting with CS3 User properties.
OCDAV_FILES_NAMESPACE string /users/{{.Id.OpaqueId}} Jail requests to /dav/files/{username} into this CS3 namespace. Supports template layouting with CS3 User properties.
OCDAV_SHARES_NAMESPACE string /Shares The human readable path for the share jail. Relative to a users personal space root. Upcased intentionally.
OCDAV_OCM_NAMESPACE string /public The human readable path prefix for the ocm shares.
OCIS_URL
OCDAV_PUBLIC_URL
string https://localhost:9200 URL where oCIS is reachable for users.
OCIS_INSECURE
OCDAV_INSECURE
bool false Allow insecure connections to the GATEWAY service.
OCDAV_GATEWAY_REQUEST_TIMEOUT int64 84300 Request timeout in seconds for requests from the oCDAV service to the GATEWAY service.
OCIS_MACHINE_AUTH_API_KEY
OCDAV_MACHINE_AUTH_API_KEY
string Machine auth API key used to validate internal requests necessary for the access to resources from other services.
OCIS_EDITION
OCDAV_EDITION
string Community Edition of oCIS. Used for branding purposes.
OCDAV_ALLOW_PROPFIND_DEPTH_INFINITY bool false Allow the use of depth infinity in PROPFINDS. When enabled, a propfind will traverse through all subfolders. If many subfolders are expected, depth infinity can cause heavy server load and/or delayed response times.