2012-11-15 00:25:00 +00:00
|
|
|
This special remote type stores file contents in a WebDAV server.
|
|
|
|
|
|
|
|
## configuration
|
|
|
|
|
|
|
|
The environment variables `WEBDAV_USERNAME` and `WEBDAV_PASSWORD` are used
|
2012-11-19 21:32:58 +00:00
|
|
|
to supply login credentials. You need to set these only when running
|
|
|
|
`git annex initremote`, as they will be cached in a file only you
|
|
|
|
can read inside the local git repository.
|
2012-11-15 00:25:00 +00:00
|
|
|
|
|
|
|
A number of parameters can be passed to `git annex initremote` to configure
|
|
|
|
the webdav remote.
|
|
|
|
|
2013-09-05 03:46:50 +00:00
|
|
|
* `encryption` - One of "none", "hybrid", "shared", or "pubkey".
|
|
|
|
See [[encryption]].
|
2012-11-19 21:32:58 +00:00
|
|
|
|
2013-09-05 03:46:50 +00:00
|
|
|
* `keyid` - Specifies the gpg key to use for [[encryption]].
|
2012-11-19 21:32:58 +00:00
|
|
|
|
|
|
|
* `embedcreds` - Optional. Set to "yes" embed the login credentials inside
|
|
|
|
the git repository, which allows other clones to also access them. This is
|
|
|
|
the default when gpg encryption is enabled; the credentials are stored
|
|
|
|
encrypted and only those with the repository's keys can access them.
|
|
|
|
|
|
|
|
It is not the default when using shared encryption, or no encryption.
|
|
|
|
Think carefully about who can access your repository before using
|
|
|
|
embedcreds without gpg encryption.
|
2012-11-15 00:25:00 +00:00
|
|
|
|
|
|
|
* `url` - Required. The URL to the WebDAV directory where files will be
|
2012-11-16 04:09:22 +00:00
|
|
|
stored. This can be a subdirectory of a larger WebDAV repository, and will
|
|
|
|
be created as needed. Use of a https URL is strongly
|
2012-11-15 00:25:00 +00:00
|
|
|
encouraged, since HTTP basic authentication is used.
|
|
|
|
|
2014-07-27 03:39:51 +00:00
|
|
|
* `chunk` - Enables [[chunking]] when storing large files.
|
|
|
|
|
|
|
|
* `chunksize` - Deprecated version of chunk parameter above.
|
|
|
|
Do not use for new remotes. It is not safe to change the chunksize
|
|
|
|
setting of an existing remote.
|
2012-11-15 00:25:00 +00:00
|
|
|
|
|
|
|
Setup example:
|
|
|
|
|
convert WebDAV to new special remote interface, adding new-style chunking support
Reusing http connection when operating on chunks is not done yet,
I had to submit some patches to DAV to support that. However, this is no
slower than old-style chunking was.
Note that it's a fileRetriever and a fileStorer, despite DAV using
bytestrings that would allow streaming. As a result, upload/download of
encrypted files is made a bit more expensive, since it spools them to temp
files. This was needed to get the progress meters to work.
There are probably ways to avoid that.. But it turns out that the current
DAV interface buffers the whole file content in memory, and I have
sent in a patch to DAV to improve its interfaces. Using the new interfaces,
it's certainly going to need to be a fileStorer, in order to read the file
size from the file (getting the size of a bytestring would destroy
laziness). It should be possible to use the new interface to make it be a
byteRetriever, so I'll change that when I get to it.
This commit was sponsored by Andreas Olsson.
2014-08-06 20:55:32 +00:00
|
|
|
# WEBDAV_USERNAME=joey@kitenet.net WEBDAV_PASSWORD=xxxxxxx git annex initremote box.com type=webdav url=https://dav.box.com/dav/git-annex chunk=10mb keyid=joey@kitenet.net
|