13996: More config migrations, refactor some code into config_loader.rb
[arvados.git] / lib / config / config.defaults.yml
index ba9f7524ed7ffa1aab7eddbe846df4719bc909b4..58c1c86dd9202a96c9be28c1c874958d2b9a67af 100644 (file)
@@ -1,5 +1,15 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
 #
+# SPDX-License-Identifier: AGPL-3.0
+
+# Do not use this file for site configuration. Create
+# /etc/arvados/config.yml instead.
 #
+# The order of precedence (highest to lowest):
+# 1. Legacy component-specific config files (deprecated)
+# 2. /etc/arvados/config.yml
+# 3. config.defaults.yml
+
 Clusters:
   xxxxx:
     SystemRootToken: ""
@@ -8,6 +18,51 @@ Clusters:
     # Server expects request header of the format "Authorization: Bearer xxx"
     ManagementToken: ""
 
+    Services:
+      RailsAPI:
+        InternalURLs: {}
+      GitHTTP:
+        InternalURLs: {}
+        ExternalURL: ""
+      Keepstore:
+        InternalURLs: {}
+      Controller:
+        InternalURLs: {}
+        ExternalURL: ""
+      Websocket:
+        InternalURLs: {}
+        ExternalURL: ""
+      Keepbalance:
+        InternalURLs: {}
+      GitHTTP:
+        InternalURLs: {}
+        ExternalURL: ""
+      GitSSH:
+        ExternalURL: ""
+      DispatchCloud:
+        InternalURLs: {}
+      SSO:
+        ExternalURL: ""
+      Keepproxy:
+        InternalURLs: {}
+        ExternalURL: ""
+      WebDAV:
+        InternalURLs: {}
+        ExternalURL: ""
+      WebDAVDownload:
+        InternalURLs: {}
+        ExternalURL: ""
+      Keepstore:
+        InternalURLs: {}
+      Composer:
+        ExternalURL: ""
+      WebShell:
+        ExternalURL: ""
+      Workbench1:
+        InternalURLs: {}
+        ExternalURL: ""
+      Workbench2:
+        ExternalURL: ""
     API:
       # Maximum size (in bytes) allowed for a single API request.  This
       # limit is published in the discovery document for use by clients.
@@ -38,6 +93,11 @@ Clusters:
       # Example: ["jobs.create", "pipeline_instances.create"]
       DisabledAPIs: []
 
+      # Interval (seconds) between asynchronous permission view updates. Any
+      # permission-updating API called with the 'async' parameter schedules a an
+      # update on the permission view in the future, if not already scheduled.
+      AsyncPermissionsUpdateInterval: 20
+
     Users:
       # Config parameters to automatically setup new users.  If enabled,
       # this users will be able to self-activate.  Enable this if you want
@@ -165,11 +225,6 @@ Clusters:
       # arrived, and deleted if their delete_at time has arrived.
       TrashSweepInterval: 60
 
-      # Interval (seconds) between asynchronous permission view updates. Any
-      # permission-updating API called with the 'async' parameter schedules a an
-      # update on the permission view in the future, if not already scheduled.
-      AsyncPermissionsUpdateInterval: 20
-
       # If true, enable collection versioning.
       # When a collection's preserve_version field is true or the current version
       # is older than the amount of seconds defined on preserve_version_if_idle,
@@ -195,6 +250,9 @@ Clusters:
       # {git_repositories_dir}/arvados/.git
       Repositories: /var/lib/arvados/git/repositories
 
+    TLS:
+      Insecure: false
+
     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
@@ -250,7 +308,7 @@ Clusters:
         # containers that have been finished for at least this many seconds,
         # and delete their stdout, stderr, arv-mount, crunch-run, and
         # crunchstat logs from the logs table.
-        MaxAge: 30d
+        MaxAge: 720h
 
         # These two settings control how frequently log events are flushed to the
         # database.  Log lines are buffered until either crunch_log_bytes_per_event
@@ -327,44 +385,55 @@ Clusters:
           # Example for compute0000, compute0001, ....:
           # assign_node_hostname: compute%<slot_number>04d
           # (See http://ruby-doc.org/core-2.2.2/Kernel.html#method-i-format for more.)
-          AssignNodeHostname: compute%<slot_number>d
-
-        JobsAPI:
-          # Enable the legacy Jobs API.
-          # auto -- (default) enable the Jobs API only if it has been used before
-          #         (i.e., there are job records in the database)
-          # true -- enable the Jobs API despite lack of existing records.
-          # false -- disable the Jobs API despite presence of existing records.
-          Enable: auto
-
-          # Git repositories must be readable by api server, or you won't be
-          # able to submit crunch jobs. To pass the test suites, put a clone
-          # of the arvados tree in {git_repositories_dir}/arvados.git or
-          # {git_repositories_dir}/arvados/.git
-          GitInternalDir: /var/lib/arvados/internal.git
-
-          # Docker image to be used when none found in runtime_constraints of a job
-          DefaultDockerImage: ""
-
-          # :none or :slurm_immediate
-          CrunchJobWrapper: :none
-
-          # username, or false = do not set uid when running jobs.
-          CrunchJobUser: crunch
-
-          # The web service must be able to create/write this file, and
-          # crunch-job must be able to stat() it.
-          CrunchRefreshTrigger: /tmp/crunch_refresh_trigger
-
-          # Control job reuse behavior when two completed jobs match the
-          # search criteria and have different outputs.
-          #
-          # If true, in case of a conflict, reuse the earliest job (this is
-          # similar to container reuse behavior).
-          #
-          # If false, in case of a conflict, do not reuse any completed job,
-          # but do reuse an already-running job if available (this is the
-          # original job reuse behavior, and is still the default).
-          ReuseJobIfOutputsDiffer: false
-
-      Mail: {}
+          AssignNodeHostname: "compute%<slot_number>d"
+
+      JobsAPI:
+        # Enable the legacy Jobs API.  This value must be a string.
+        # 'auto' -- (default) enable the Jobs API only if it has been used before
+        #         (i.e., there are job records in the database)
+        # 'true' -- enable the Jobs API despite lack of existing records.
+        # 'false' -- disable the Jobs API despite presence of existing records.
+        Enable: 'auto'
+
+        # Git repositories must be readable by api server, or you won't be
+        # able to submit crunch jobs. To pass the test suites, put a clone
+        # of the arvados tree in {git_repositories_dir}/arvados.git or
+        # {git_repositories_dir}/arvados/.git
+        GitInternalDir: /var/lib/arvados/internal.git
+
+        # Docker image to be used when none found in runtime_constraints of a job
+        DefaultDockerImage: ""
+
+        # none or slurm_immediate
+        CrunchJobWrapper: none
+
+        # username, or false = do not set uid when running jobs.
+        CrunchJobUser: crunch
+
+        # The web service must be able to create/write this file, and
+        # crunch-job must be able to stat() it.
+        CrunchRefreshTrigger: /tmp/crunch_refresh_trigger
+
+        # Control job reuse behavior when two completed jobs match the
+        # search criteria and have different outputs.
+        #
+        # If true, in case of a conflict, reuse the earliest job (this is
+        # similar to container reuse behavior).
+        #
+        # If false, in case of a conflict, do not reuse any completed job,
+        # but do reuse an already-running job if available (this is the
+        # original job reuse behavior, and is still the default).
+        ReuseJobIfOutputsDiffer: false
+
+    Mail:
+      MailchimpAPIKey: ""
+      MailchimpListID: ""
+      SendUserSetupNotificationEmail: ""
+      IssueReporterEmailFrom: ""
+      IssueReporterEmailTo: ""
+      SupportEmailAddress: ""
+      EmailFrom: ""
+    RemoteClusters:
+      "*":
+        Proxy: false
+        ActivateUsers: false