X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/19ae770973482257117fe8ded5619c3018c4b60f..91f976b99d4e7f00d2c1fbfee75812c3b1b780c6:/services/keep-web/doc.go diff --git a/services/keep-web/doc.go b/services/keep-web/doc.go index 9ca732f01a..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 -listen=: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 -listen=1.2.3.4:1234 +// keep-web -config /path/to/keep-web.yml // // Proxy configuration // @@ -48,12 +68,12 @@ // // Anonymous downloads // -// Use the -allow-anonymous flag with an ARVADOS_API_TOKEN environment -// variable to specify a token to use when clients try to retrieve -// files without providing their own Arvados API token. +// 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. // -// export ARVADOS_API_TOKEN=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz -// keep-web [...] -allow-anonymous +// "AnonymousTokens":["xxxxxxxxxxxxxxxxxxxxxxx"] // // See http://doc.arvados.org/install/install-keep-web.html for examples. // @@ -211,30 +231,31 @@ // only when the designated origin matches exactly the Host header // provided by the client or downstream proxy. // -// keep-web -listen :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/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. +// "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 -listen :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 -listen :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 -// "trust all content" setting on Workbench. Normally, Workbench +// the "trust all content" setting in Workbench. Normally, Workbench // avoids redirecting requests to keep-web if they depend on -// -trust-all-content being set. +// TrustAllContent being enabled. // package main