# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# The variables commented out are the default values that the formula uses.
# The uncommented values are REQUIRED values. If you don't set them, running
# this formula will fail.
arvados:
  ### GENERAL CONFIG
  # version: '2.1.0'
  # release: production
  ## It makes little sense to disable this flag, but you can, if you want :)
  # use_upstream_repo: true

  ## Repo URL is built with grains values. If desired, it can be completely
  ## overwritten with the pillar parameter 'repo_url'
  # repo:
  #   humanname: Arvados Official Repository

  ## IMPORTANT!!!!!
  ## api, workbench and shell require some gems, so you need to make sure ruby
  ## and deps are installed in order to install and compile the gems.
  ## We default to `false` in these two variables as it's expected you already
  ## manage OS packages with some other tool and you don't want us messing up
  ## with your setup.
  ruby:
    ## We set these to `true` here for testing purposes.
    ## They both default to `false`.
    manage_ruby: true
    use_rvm: false     # If you want to use rvm. Defaults to true for centos-7
    # pkg: ruby        # Can specify a version like ruby-2.5.7 for rvm
    manage_gems_deps: true
    # gems_deps:
    #     - curl
    #     - g++
    #     - gcc
    #     - git
    #     - libcurl4
    #     - libcurl4-gnutls-dev
    #     - libpq-dev
    #     - libxml2
    #     - libxml2-dev
    #     - make
    #     - python3-dev
    #     - ruby-dev
    #     - zlib1g-dev

  # config:
  #   file: /etc/arvados/config.yml
  #   user: root
  ## IMPORTANT!!!!!
  ## If you're intalling any of the rails apps (api, workbench), the group
  ## should be set to that of the web server, usually `www-data`
  #   group: root
  #   mode: 640

  ### ARVADOS CLUSTER CONFIG
  cluster:
    name: fixme
    domain: example.net

    database:
      # max concurrent connections per arvados server daemon
      # connection_pool_max: 32
      name: arvados
      host: 127.0.0.1
      password: changeme_arvados
      user: arvados
      # You can pass extra database connections parameters here,
      # which will be rendered as yaml.
      # extra_conn_params:
      #  sslmode: prefer
      #  verify-ca: false
      #  client_encoding: UTF8


    tls:
      # certificate: ''
      # key: ''
      # required to test with snakeoil certs
      insecure: true

    ### TOKENS
    tokens:
      # Secrets and tokens have to be +32 alphanumeric,
      # it does not accept underscores or special characters.
      # See https://dev.arvados.org/issues/17150
      system_root: changemesystemroottoken
      management: changememanagementtoken
      anonymous_user: changemeanonymoususertoken

    ### KEYS
    secrets:
      blob_signing_key: changemeblobsigningkey
      workbench_secret_key: changemeworkbenchsecretkey
      dispatcher_access_key: changemedispatcheraccesskey
      dispatcher_secret_key: changemedispatchersecretkey
      keep_access_key: changemekeepaccesskey
      keep_secret_key: changemekeepsecretkey

    AuditLogs:
      Section_to_ignore:
        - some_random_value

    ### VOLUMES
    ## This should usually match all your `keepstore` instances
    Volumes:
      # the volume name will be composed with
      # <cluster>-nyw5e-<volume>
      fixme-nyw5e-000000000000000:
        AccessViaHosts:
          http://keep0.fixme.example.net:25107:
            ReadOnly: false
        Replication: 2
        Driver: Directory
        DriverParameters:
          Root: /tmp

    Users:
      NewUsersAreActive: true
      AutoAdminFirstUser: true
      AutoSetupNewUsers: true
      AutoSetupNewUsersWithRepository: true

    Services:
      Controller:
        ExternalURL: https://fixme.example.net
        InternalURLs:
          http://localhost:8003: {}
      DispatchCloud:
        InternalURLs:
          http://fixme.example.net:9006: {}
      Keepbalance:
        InternalURLs:
          http://fixme.example.net:9005: {}
      Keepproxy:
        ExternalURL: https://keep.fixme.example.net
        InternalURLs:
          http://localhost:25100: {}
      Keepstore:
        InternalURLs:
          http://keep0.fixme.example.net:25107: {}
      RailsAPI:
        InternalURLs:
          http://localhost:8004: {}
      WebDAV:
        ExternalURL: https://collections.fixme.example.net
        InternalURLs:
          http://localhost:9002: {}
      WebDAVDownload:
        ExternalURL: https://download.fixme.example.net
      WebShell:
        ExternalURL: https://webshell.fixme.example.net
      Websocket:
        ExternalURL: wss://ws.fixme.example.net/websocket
        InternalURLs:
          http://localhost:8005: {}
      Workbench1:
        ExternalURL: https://workbench.fixme.example.net
      Workbench2:
        ExternalURL: https://workbench2.fixme.example.net

#  ### THESE ARE THE PACKAGES AND DAEMONS BASIC CONFIGS
#  #### API
#   api:
#     pkg:
#       name:
#         - arvados-api-server
#         - arvados-dispatch-cloud
#     gem:
#       name:
#         - arvados-cli
#     service:
#       name:
#         - nginx
#       port: 8004
#  #### CONTROLLER
#   controller:
#     pkg:
#       name: arvados-controller
#     service:
#       name: arvados-controller
#       port: 8003
#  #### DISPATCHER
#   dispatcher:
#     pkg:
#       name:
#         - crunch-dispatch-local
#       #   - arvados-dispatch-cloud
#       #   - crunch-dispatch-slurm
#     service:
#       name: crunch-dispatch-local
#       port: 9006
#  #### KEEPPROXY
#   keepproxy:
#     pkg:
#       name: keepproxy
#     service:
#       name: keepproxy
#       port: 25107
#  #### KEEPWEB
#   keepweb:
#     pkg:
#       name: keep-web
#     service:
#       name: keep-web
#     #   webdav
#       port: 9002
#  #### KEEPSTORE
#   keepstore:
#     pkg:
#       name: keepstore
#     service:
#       name: keepstore
#       port: 25107
#  #### GIT-HTTPD
#   githttpd:
#     pkg:
#       name: arvados-git-httpd
#     service:
#       name: arvados-git-httpd
#       port: 9001
#  #### SHELL
#   shell:
#     pkg:
#       name:
#         - arvados-client
#         - arvados-src
#         - libpam-arvados-go
#         - python3-arvados-fuse
#         - python3-arvados-python-client
#         - python3-arvados-cwl-runner
#     gem:
#       name:
#         - arvados-cli
#         - arvados-login-sync
#     shellinabox:
#       config: /etc/default/shellinabox
#       service:
#         name: shellinabox
#         port: 4200
#     libpam_arvados:
#       config: /etc/pam.d/arvados
#  #### WORKBENCH
#   workbench:
#     pkg:
#       name: arvados-workbench
#     service:
#       name: nginx
#  #### WORKBENCH2
#   workbench2:
#     pkg:
#       name: arvados-workbench2
#     service:
#       name: nginx
#  ####  WEBSOCKET
#   websocket:
#     pkg:
#       name: arvados-ws
#     service:
#       name: arvados-ws
#       port: 8005
#  #### SSO
#   sso:
#     pkg:
#       name: arvados-sso
#     service:
#       name: arvados-sso
#       port: 8900

#  ## SALTSTACK FORMULAS TOFS configuration
#   https://template-formula.readthedocs.io/en/latest/TOFS_pattern.html
#   tofs:
#   #    The files_switch key serves as a selector for alternative
#   #    directories under the formula files directory. See TOFS pattern
#   #    doc for more info.
#   #    Note: Any value not evaluated by `config.get` will be used literally.
#   #    This can be used to set custom paths, as many levels deep as required.
#     files_switch:
#       - any/path/can/be/used/here
#       - id
#       - roles
#       - osfinger
#       - os
#       - os_family
#   #    All aspects of path/file resolution are customisable using the options below.
#   #    This is unnecessary in most cases; there are sensible defaults.
#   #    Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
#   #            I.e.: salt://arvados/files/default
#   #    path_prefix: template_alt
#   #    dirs:
#   #      files: files_alt
#   #      default: default_alt
#   #    The entries under `source_files` are prepended to the default source files
#   #    given for the state
#   #    source_files:
#   #      arvados-config-file-file-managed:
#   #        - 'example_alt.tmpl'
#   #        - 'example_alt.tmpl.jinja'