X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6e76e3322d66f609dabcd34c98cba34bd739e089..0eb72b526bf8bbb011551ecf019f604e17a534f1:/services/keep-web/doc.go diff --git a/services/keep-web/doc.go b/services/keep-web/doc.go index 7e0a00f9bc..598fabcd37 100644 --- a/services/keep-web/doc.go +++ b/services/keep-web/doc.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + // 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 @@ -6,17 +10,33 @@ // // See http://doc.arvados.org/install/install-keep-web.html. // -// Run "keep-web -help" to show all supported options. +// Configuration +// +// The default configuration file location is +// /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 // // Starting the server // -// Serve HTTP requests at port 1234 on all interfaces: +// Start a server using the default config file +// /etc/arvados/keep-web/keep-web.yml: // -// keep-web -address=:1234 +// keep-web // -// Serve HTTP requests at port 1234 on the interface with IP address 1.2.3.4: +// Start a server using the config file /path/to/keep-web.yml: // -// keep-web -address=1.2.3.4:1234 +// keep-web -config /path/to/keep-web.yml // // Proxy configuration // @@ -46,6 +66,17 @@ // proxy. However, TLS is not used between nginx and keep-web, so // intervening networks must be secured by other means. // +// Anonymous downloads +// +// The "AnonymousTokens" configuration entry is an array of tokens to +// use when processing anonymous requests, i.e., whenever a web client +// does not supply its own Arvados API token via path, query string, +// cookie, or request header. +// +// "AnonymousTokens":["xxxxxxxxxxxxxxxxxxxxxxx"] +// +// See http://doc.arvados.org/install/install-keep-web.html for examples. +// // Download URLs // // The following "same origin" URL patterns are supported for public @@ -84,8 +115,8 @@ // // In all of the above forms, the "uuid_or_pdh" part can be either a // collection UUID or a portable data hash with the "+" character -// optionally replaced by "-". (Replacing "+" with "-" is mandatory -// when "uuid_or_pdh" appears in the domain name only because "+" is +// optionally replaced by "-". (When "uuid_or_pdh" appears in the +// domain name, replacing "+" with "-" is mandatory, because "+" is // not a valid character in a domain name.) // // In all of the above forms, a top level directory called "_" is @@ -200,25 +231,31 @@ // only when the designated origin matches exactly the Host header // provided by the client or downstream proxy. // -// keep-web -address :9999 -attachment-only-host domain.example:9999 +// "AttachmentOnlyHost":"domain.example:9999" // // Trust All Content mode // -// In "trust all content" mode, Keep-web will accept credentials (API +// In TrustAllContent mode, Keep-web will accept credentials (API // tokens) and serve any collection X at -// "https://collections.example.com/collections/X/path/file.ext". -// This is UNSAFE except in the special case where everyone who is -// able write ANY data to Keep, and every JavaScript and HTML file -// written to Keep, is also trusted to read ALL of the data in Keep. +// "https://collections.example.com/c=X/path/file.ext". This is +// UNSAFE except in the special case where everyone who is able write +// ANY data to Keep, and every JavaScript and HTML file written to +// Keep, is also trusted to read ALL of the data in Keep. // // In such cases you can enable trust-all-content mode. // -// keep-web -address :9999 -trust-all-content +// "TrustAllContent":true // -// When using trust-all-content mode, the only effect of the -// -attachment-only-host option is to add a "Content-Disposition: +// When TrustAllContent is enabled, the only effect of the +// AttachmentOnlyHost flag is to add a "Content-Disposition: // attachment" header. // -// keep-web -address :9999 -attachment-only-host domain.example:9999 -trust-all-content +// "AttachmentOnlyHost":"domain.example:9999", +// "TrustAllContent":true +// +// Depending on your site configuration, you might also want to enable +// the "trust all content" setting in Workbench. Normally, Workbench +// avoids redirecting requests to keep-web if they depend on +// TrustAllContent being enabled. // package main