X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3fa6aa4043286ad61e5f29c136d3cc2942e8750d..f68ba06c5e85b748f13f723373e1fbe79fa8e563:/lib/config/config.default.yml diff --git a/lib/config/config.default.yml b/lib/config/config.default.yml index f6e9910161..09c068a0b9 100644 --- a/lib/config/config.default.yml +++ b/lib/config/config.default.yml @@ -22,47 +22,78 @@ Clusters: Services: - # In each of the service sections below, the keys under - # InternalURLs are the endpoints where the service should be - # listening, and reachable from other hosts in the - # cluster. Example: + # Each of the service sections below specifies InternalURLs + # (each with optional ListenURL) and ExternalURL. + # + # InternalURLs specify how other Arvados service processes will + # connect to the service. Typically these use internal hostnames + # and high port numbers. Example: + # + # InternalURLs: + # "http://host1.internal.example:12345": {} + # "http://host2.internal.example:12345": {} + # + # ListenURL specifies the address and port the service process's + # HTTP server should listen on, if different from the + # InternalURL itself. Example, using an intermediate TLS proxy: # # InternalURLs: - # "http://host1.example:12345": {} - # "http://host2.example:12345": {} + # "https://host1.internal.example": + # ListenURL: "http://10.0.0.7:12345" + # + # When there are multiple InternalURLs configured, the service + # process will try listening on each InternalURLs (using + # ListenURL if provided) until one works. If you use a ListenURL + # like "0.0.0.0" which can be bound on any machine, use an + # environment variable + # ARVADOS_SERVICE_INTERNAL_URL=http://host1.internal.example to + # control which entry to use. + # + # ExternalURL specifies how applications/clients will connect to + # the service, regardless of whether they are inside or outside + # the cluster. Example: + # + # ExternalURL: "https://keep.zzzzz.example.com/" + # + # To avoid routing internal traffic through external networks, + # use split-horizon DNS for ExternalURL host names: inside the + # cluster's private network "host.zzzzz.example.com" resolves to + # the host's private IP address, while outside the cluster + # "host.zzzzz.example.com" resolves to the host's public IP + # address (or its external gateway or load balancer). RailsAPI: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Controller: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Websocket: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Keepbalance: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" GitHTTP: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" GitSSH: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" DispatchCloud: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" DispatchLSF: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" DispatchSLURM: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Keepproxy: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" WebDAV: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} # Base URL for Workbench inline preview. If blank, use # WebDAVDownload instead, and disable inline preview. # If both are empty, downloading collections from workbench @@ -101,7 +132,7 @@ Clusters: ExternalURL: "" WebDAVDownload: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} # Base URL for download links. If blank, serve links to WebDAV # with disposition=attachment query param. Unlike preview links, # browsers do not render attachments, so there is no risk of XSS. @@ -117,6 +148,7 @@ Clusters: Keepstore: InternalURLs: SAMPLE: + ListenURL: "" # Rendezvous is normally empty/omitted. When changing the # URL of a Keepstore service, Rendezvous should be set to # the old URL (with trailing slash omitted) to preserve @@ -124,10 +156,10 @@ Clusters: Rendezvous: "" ExternalURL: "" Composer: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" WebShell: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} # ShellInABox service endpoint URL for a given VM. If empty, do not # offer web shell logins. # @@ -138,13 +170,13 @@ Clusters: # https://*.webshell.uuid_prefix.arvadosapi.com ExternalURL: "" Workbench1: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Workbench2: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" Health: - InternalURLs: {SAMPLE: {}} + InternalURLs: {SAMPLE: {ListenURL: ""}} ExternalURL: "" PostgreSQL: @@ -341,6 +373,18 @@ Clusters: # cluster. RoleGroupsVisibleToAll: true + # During each period, a log entry with event_type="activity" + # will be recorded for each user who is active during that + # period. The object_uuid attribute will indicate the user's + # UUID. + # + # Multiple log entries for the same user may be generated during + # a period if there are multiple controller processes or a + # controller process is restarted. + # + # Use 0 to disable activity logging. + ActivityLoggingPeriod: 24h + AuditLogs: # Time to keep audit logs, in seconds. (An audit log is a row added # to the "logs" table in the PostgreSQL database each time an @@ -579,21 +623,17 @@ Clusters: # Time to cache manifests, permission checks, and sessions. TTL: 300s - # Time to cache collection state. - UUIDTTL: 5s - # Block cache entries. Each block consumes up to 64 MiB RAM. MaxBlockEntries: 20 - # Collection cache entries. - MaxCollectionEntries: 1000 - - # Approximate memory limit (in bytes) for collection cache. + # Approximate memory limit (in bytes) for session cache. + # + # Note this applies to the in-memory representation of + # projects and collections -- metadata, block locators, + # filenames, etc. -- excluding cached file content, which is + # limited by MaxBlockEntries. MaxCollectionBytes: 100000000 - # UUID cache entries. - MaxUUIDEntries: 1000 - # Persistent sessions. MaxSessions: 100 @@ -838,16 +878,28 @@ Clusters: # by going through login again. IssueTrustedTokens: true - # When the token is returned to a client, the token itself may - # be restricted from viewing/creating other tokens based on whether - # the client is "trusted" or not. The local Workbench1 and - # Workbench2 are trusted by default, but if this is a - # LoginCluster, you probably want to include the other Workbench - # instances in the federation in this list. + # Origins (scheme://host[:port]) of clients trusted to receive + # new tokens via login process. The ExternalURLs of the local + # Workbench1 and Workbench2 are trusted implicitly and do not + # need to be listed here. If this is a LoginCluster, you + # probably want to include the other Workbench instances in the + # federation in this list. + # + # Example: + # + # TrustedClients: + # "https://workbench.other-cluster.example": {} + # "https://workbench2.other-cluster.example": {} TrustedClients: - SAMPLE: - "https://workbench.federate1.example": {} - "https://workbench.federate2.example": {} + SAMPLE: {} + + # Treat any origin whose host part is "localhost" or a private + # IP address (e.g., http://10.0.0.123:3000/) as if it were + # listed in TrustedClients. + # + # Intended only for test/development use. Not appropriate for + # production use. + TrustPrivateNetworks: false Git: # Path to git or gitolite-shell executable. Each authenticated @@ -868,10 +920,31 @@ Clusters: Repositories: /var/lib/arvados/git/repositories TLS: + # Use "file:///var/lib/acme/live/example.com/cert" and + # ".../privkey" to load externally managed certificates. Certificate: "" Key: "" + + # Accept invalid certificates when connecting to servers. Never + # use this in production. Insecure: false + ACME: + # Obtain certificates automatically for ExternalURL domains + # using an ACME server and http-01 validation. + # + # To use Let's Encrypt, specify "LE". To use the Let's + # Encrypt staging environment, specify "LE-staging". To use a + # different ACME server, specify the full directory URL + # ("https://..."). + # + # Note: this feature is not yet implemented in released + # versions, only in the alpha/prerelease arvados-server-easy + # package. + # + # Implies agreement with the server's terms of service. + Server: "" + Containers: # List of supported Docker Registry image formats that compute nodes # are able to use. `arv keep docker` will error out if a user tries @@ -1010,12 +1083,16 @@ Clusters: LocalKeepLogsToContainerLog: none Logging: - # When you run the db:delete_old_container_logs task, it will find - # containers that have been finished for at least this many seconds, + # Periodically (see SweepInterval) Arvados will check for + # containers that have been finished for at least this long, # and delete their stdout, stderr, arv-mount, crunch-run, and # crunchstat logs from the logs table. MaxAge: 720h + # How often to delete cached log entries for finished + # containers (see MaxAge). + SweepInterval: 12h + # These two settings control how frequently log events are flushed to the # database. Log lines are buffered until either crunch_log_bytes_per_event # has been reached or crunch_log_seconds_between_events has elapsed since @@ -1434,7 +1511,7 @@ Clusters: RaceWindow: 24h PrefixLength: 0 # Use aws-s3-go (v2) instead of goamz - UseAWSS3v2Driver: false + UseAWSS3v2Driver: true # For S3 driver, potentially unsafe tuning parameter, # intentionally excluded from main documentation. @@ -1526,6 +1603,11 @@ Clusters: ShowUserAgreementInline: false SecretKeyBase: "" + # Set this configuration to true to avoid providing an easy way for users + # to share data with unauthenticated users; this may be necessary on + # installations where strict data access controls are needed. + DisableSharingURLsUI: false + # Scratch directory used by the remote repository browsing # feature. If it doesn't exist, it (and any missing parents) will be # created using mkdir_p. @@ -1650,6 +1732,10 @@ Clusters: # This feature is disabled when set to zero. IdleTimeout: 0s + # URL to a file that is a fragment of text or HTML which should + # be rendered in Workbench as a banner. + BannerURL: "" + # Workbench welcome screen, this is HTML text that will be # incorporated directly onto the page. WelcomePageHTML: |