feat(components,version): add extra components, new version
[arvados-formula.git] / arvados / files / default / config.tmpl.jinja
index 31a966501cbe53fbe9d76e3602bf647bb8d140ff..fe33a2a0e2cd6b89765d181b8f591c798a588f93 100644 (file)
 # File managed by Salt at <{{ source }}>.
 # Your changes will be overwritten.
 #
-# Please check https://doc.arvados.org/master/admin/config.html for 
+# Please check https://doc.arvados.org/master/admin/config.html for
 # documentation about the parameters configured here.
 ########################################################################
+{%- if arvados.release == 'development' %}
+# (Experimental) Restart services automatically when config file
+# changes are detected. Only supported by `arvados-server boot` in
+# dev mode.
+AutoReloadConfig: {{ arvados.auto_reload_config }}
+{%- endif %}
+
 Clusters:
   {{ arvados.cluster.name }}:
-    SystemRootToken: "{{ arvados.cluster.tokens.system_root }}"
-    ManagementToken: "{{ arvados.cluster.tokens.management }}"
+
+    SystemRootToken: {{ arvados.cluster.tokens.system_root | yaml_encode }}
+    ManagementToken: {{ arvados.cluster.tokens.management | yaml_encode }}
+
+    ForceLegacyAPI14: {{ arvados.cluster.force_legacy_api14 }}
 
     API:
-      RailsSessionSecretToken: "{{ arvados.cluster.tokens.rails_secret }}"
+      RailsSessionSecretToken: {{ arvados.cluster.tokens.rails_secret | yaml_encode }}
+    {%- if 'API' in arvados.cluster %}
+      {{ arvados.cluster.API | default('') | yaml(False) | indent(6) }}
+    {%- endif %}
 
     Collections:
-      BlobSigningKey: "{{ arvados.cluster.secrets.blob_signing_key }}"
-      ForwardSlashNameSubstitution: "%2f"
-      DefaultReplication: 1
-      TrustAllContent: true
+      BlobSigningKey: {{ arvados.cluster.secrets.blob_signing_key | yaml_encode }}
+    {%- if 'Collections' in arvados.cluster %}
+      {{ arvados.cluster.Collections | yaml(False) | indent(6) }}
+    {%- endif %}
 
     Login:
-      ProviderAppSecret: "{{ arvados.cluster.tokens.provider_secret }}"
-      ProviderAppID: arvados-server
+      {{ arvados.cluster.Login | yaml(False) | indent(6) }}
 
     Users:
-      NewUsersAreActive: true
-      AutoAdminFirstUser: true
-      AutoSetupNewUsers: true
-      AutoSetupNewUsersWithVmUUID: x2jbo-2x53u-6maueyy9if4u7vq
-      AutoSetupNewUsersWithRepository: true
+      {{ arvados.cluster.Users | yaml(False) | indent(6) }}
 
     TLS:
-      Certificate: "{{ arvados.cluster.tls.certificate }}"
-      Key: "{{ arvados.cluster.tls.key }}"
+      Certificate: {{ arvados.cluster.tls.certificate | yaml_encode }}
+      Key: {{ arvados.cluster.tls.key | yaml_encode }}
       Insecure: {{ arvados.cluster.tls.insecure }}
 
     Workbench:
-      SecretKeyBase: {{ arvados.cluster.secrets.workbench_secret_key }}
-      SiteName:  {{ arvados.cluster.name | upper }}
-
-    # FIXME!!!!
-    # Git:
-    #   GitCommand: /usr/share/gitolite3/gitolite-shell
-    #   GitoliteHome: /var/lib/arvados/git
-    #   Repositories: /var/lib/arvados/git/repositories
+      SecretKeyBase: {{ arvados.cluster.secrets.workbench_secret_key | yaml_encode }}
+      SiteName: {{ arvados.cluster.name | upper }}
+    {%- if 'Workbench' in arvados.cluster %}
+      {{ arvados.cluster.Workbench | yaml(False) | indent(6) }}
+    {%- endif %}
 
-    Volumes:
-      {% for v, p in arvados.cluster.volumes.items() -%}
-      ### {{ v | upper }}
-      {{ p.cluster }}-nyw5e-{{ p.volume_id }}:
-        Driver: {{ p.driver }}
-        DriverParameters: {{ p.driver_parameters | yaml }}
-        AccessViaHosts: {{ p.access_via_hosts | yaml }}
-        Replication: {{ p.replication }}
-      {% endfor -%}
+    {%- for section in [
+        'AuditLogs',
+        'Containers',
+        'Git',
+        'InstanceTypes',
+        'Mail',
+        'RemoteClusters',
+        'SystemLogs',
+        'Volumes'
+      ]
+    %}
+      {%- if section in arvados.cluster %}
+    {{ section }}:
+      {{ arvados.cluster[section] | yaml(False) | indent(6) }}
+      {%- endif %}
+    {%- endfor %}
 
     ### DATABASE CONFIGURATION
     PostgreSQL:
+      # FIXME!!!!!! ALL as database or using Arvados' PostgreSQL ??
       ConnectionPool: {{ arvados.cluster.database.connection_pool_max }}
       Connection:
         # All parameters here are passed to the PG client library in a connection string;
         # see https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS
         dbname: {{ arvados.cluster.database.name }}
         host: {{ arvados.cluster.database.host }}
-        password: {{ arvados.cluster.database.password }}
+        password: {{ arvados.cluster.database.password | yaml_encode }}
         user: {{ arvados.cluster.database.user }}
         client_encoding: {{ arvados.cluster.database.client_encoding }}
+    {%- if 'PostgreSQL' in arvados.cluster %}
+      {{ arvados.cluster.PostgreSQL | yaml(False) | indent(6) }}
+    {%- endif %}
 
     ### SERVICES URLs
-    # This could probably made into a loop, but some consistency check needs to be done
-    # on the arvados side before that's possible
     Services:
-      # Composer: FIXME!!!
-      Controller:
-        ExternalURL: "https://{{ arvados.cluster.domain }}"
-        InternalURLs:
-          "http://localhost:{{ arvados.controller.service.port }}": {}
-      DispatchCloud:
-        InternalURLs:
-          "http://localhost:{{ arvados.dispatcher.service.port }}": {}
-      # GitSSH: FIXME!!!
-      # Health: FIXME!!!
-      # Keepbalance: FIXME!!!
-      # Keepproxy: FIXME!!!
-      # Keepstore: FIXME!!!
-      # Nodemanager: FIXME!!!
-      RailsAPI:
-        InternalURLs:
-          "http://localhost:{{ arvados.api.service.port }}": {}
-      SSO:
-        ExternalURL: "https://sso.{{ arvados.cluster.domain }}"
-      WebDAV:
-        ExternalURL: https://collections.{{ arvados.cluster.domain }}
-        InternalURLs:
-          "http://localhost:{{ arvados.keepweb.service.port }}": {}
-      WebDAVDownload:
-        ExternalURL: https://download.{{ arvados.cluster.domain }}
-      # WebShell: FIXME!!!
-      Websocket:
-        ExternalURL: wss://ws.{{ arvados.cluster.domain }}/websocket
-        InternalURLs:
-          "http://localhost:{{ arvados.websocket.service.port }}": {}
-      Workbench1:
-        ExternalURL: "https://workbench.{{ arvados.cluster.domain }}"
-      Workbench2:
-        ExternalURL: "https://workbench2.{{ arvados.cluster.domain }}"
-      Keepproxy:
-        ExternalURL: https://keep.{{ arvados.cluster.domain }}
-        InternalURLs:
-          "http://localhost:{{ arvados.keepproxy.service.port }}": {}
-      Keepstore:
-        InternalURLs:
-          "http://keep0.{{ arvados.cluster.domain }}:{{ arvados.keepstore.service.port }}/": {}
+    {%- for service in [
+        'Composer',
+        'Controller',
+        'DispatchCloud',
+        'GitHTTP',
+        'GitSSH',
+        'Health',
+        'Keepbalance',
+        'Keepproxy',
+        'Keepstore',
+        'Nodemanager',
+        'RailsAPI',
+        'SSO',
+        'WebDAV',
+        'WebDAVDownload',
+        'WebShell',
+        'Websocket',
+        'Workbench1',
+        'Workbench2',
+      ]
+    %}
+      {%- if service in arvados.cluster.Services %}
+      {{ service }}:
+        {{ arvados.cluster.Services[service] | yaml(False) | indent(8) }}
+      {%- endif %}
+    {%- endfor %}