X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/df48d4e9d64b08e0d82ffba2424fff87c2a07701..9cc572d6a44262e21251372e28b549cfc09e681a:/services/keep-web/doc.go diff --git a/services/keep-web/doc.go b/services/keep-web/doc.go index 37f81b1b3a..d65156f987 100644 --- a/services/keep-web/doc.go +++ b/services/keep-web/doc.go @@ -1,44 +1,46 @@ -// Keep-web provides read-only HTTP access to files stored in Keep. It -// serves public data to anonymous and unauthenticated clients, and -// serves private data to clients that supply Arvados API tokens. It -// can be installed anywhere with access to Keep services, typically -// behind a web proxy that supports TLS. +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +// Keep-web provides read/write HTTP (WebDAV) access to files stored +// in Keep. It serves public data to anonymous and unauthenticated +// clients, and serves private data to clients that supply Arvados API +// tokens. It can be installed anywhere with access to Keep services, +// typically behind a web proxy that supports TLS. // // See http://doc.arvados.org/install/install-keep-web.html. // // Configuration // // The default configuration file location is -// /etc/arvados/keep-web/config.json. +// /etc/arvados/keep-web/keep-web.yml. // // Example configuration file // -// { -// "Client": { -// "APIHost": "zzzzz.arvadosapi.com:443", -// "AuthToken": "", -// "Insecure": false -// }, -// "Listen":":1234", -// "AnonymousTokens":["xxxxxxxxxxxxxxxxxxxx"], -// "AttachmentOnlyHost":"", -// "TrustAllContent":false -// } +// Client: +// APIHost: "zzzzz.arvadosapi.com:443" +// AuthToken: "" +// Insecure: false +// Listen: :1234 +// AnonymousTokens: +// - xxxxxxxxxxxxxxxxxxxx +// AttachmentOnlyHost: "" +// TrustAllContent: false // // Starting the server // // Start a server using the default config file -// /etc/arvados/keep-web/config.json: +// /etc/arvados/keep-web/keep-web.yml: // // keep-web // -// Start a server using the config file /path/to/config.json: +// Start a server using the config file /path/to/keep-web.yml: // -// keep-web -config /path/to/config.json +// keep-web -config /path/to/keep-web.yml // // Proxy configuration // -// Keep-web does not support SSL natively. Typically, it is installed +// Keep-web does not support TLS natively. Typically, it is installed // behind a proxy like nginx. // // Here is an example nginx configuration. @@ -131,8 +133,21 @@ // http://zzzzz-4zz18-znfnqtbbv4spc3w.collections.example.com/foo/bar.txt // http://zzzzz-4zz18-znfnqtbbv4spc3w.collections.example.com/_/foo/bar.txt // http://zzzzz-4zz18-znfnqtbbv4spc3w--collections.example.com/_/foo/bar.txt +// +// The following URLs are read-only, but otherwise interchangeable +// with the above: +// // http://1f4b0bc7583c2a7f9102c395f4ffc5e3-45--foo.example.com/foo/bar.txt // http://1f4b0bc7583c2a7f9102c395f4ffc5e3-45--.invalid/foo/bar.txt +// http://collections.example.com/by_id/1f4b0bc7583c2a7f9102c395f4ffc5e3%2B45/foo/bar.txt +// http://collections.example.com/by_id/zzzzz-4zz18-znfnqtbbv4spc3w/foo/bar.txt +// +// If the collection is named "MyCollection" and located in a project +// called "MyProject" which is in the home project of a user with +// username is "bob", the following read-only URL is also available +// when authenticating as bob: +// +// http://collections.example.com/users/bob/MyProject/MyCollection/foo/bar.txt // // An additional form is supported specifically to make it more // convenient to maintain support for existing Workbench download @@ -146,6 +161,9 @@ // // http://collections.example.com/collections/uuid_or_pdh/foo/bar.txt // +// Collections can also be accessed (read-only) via "/by_id/X" where X +// is a UUID or portable data hash. +// // Authorization mechanisms // // A token can be provided in an Authorization header: @@ -176,11 +194,10 @@ // // Indexes // -// Currently, keep-web does not generate HTML index listings, nor does -// it serve a default file like "index.html" when a directory is -// requested. These features are likely to be added in future -// versions. Until then, keep-web responds with 404 if a directory -// name (or any path ending with "/") is requested. +// Keep-web returns a generic HTML index listing when a directory is +// requested with the GET method. It does not serve a default file +// like "index.html". Directory listings are also returned for WebDAV +// PROPFIND requests. // // Compatibility // @@ -256,4 +273,10 @@ // avoids redirecting requests to keep-web if they depend on // TrustAllContent being enabled. // +// Metrics +// +// Keep-web exposes request metrics in Prometheus text-based format at +// /metrics. The same information is also available as JSON at +// /metrics.json. +// package main