galaxy_server_url: URL of our website
# Put your Galaxy server's fully qualified domain name (FQDN) (or the FQDN of the RabbitMQ server) above.

pulsar_root: /opt/pulsar

pulsar_pip_install: true
pulsar_pycurl_ssl_library: openssl
pulsar_systemd: true
pulsar_systemd_runner: webless

pulsar_create_user: false
pulsar_user: {name: pulsar, shell: /bin/bash}

pulsar_optional_dependencies:
  - pyOpenSSL
  # For remote transfers initiated on the Pulsar end rather than the Galaxy end
  - pycurl
  # drmaa required if connecting to an external DRM using it.
  - drmaa
  # kombu needed if using a message queue
  - kombu
  # amqp 5.0.3 changes behaviour in an unexpected way, pin for now.
  - 'amqp==5.0.2'
  # psutil and pylockfile are optional dependencies but can make Pulsar
  # more robust in small ways.
  - psutil

pulsar_yaml_config:
  conda_auto_init: True
  conda_auto_install: True
  staging_directory: "{{ pulsar_staging_dir }}"
  persistence_directory: "{{ pulsar_persistence_dir }}"
  tool_dependency_dir: "{{ pulsar_dependencies_dir }}"
  # The following are the settings for the pulsar server to contact the message queue with related timeouts etc.
  message_queue_url: "pyamqp://galaxy_au:{{ rabbitmq_password_galaxy_au }}@{{ galaxy_server_url }}:5671//pulsar/galaxy_au?ssl=1"
  managers:
    _default_:
      type: queued_cli
      job_plugin: slurm
      native_specification: "-p batch --tasks=1 --cpus-per-task=2 --mem-per-cpu=1000 -t 10:00"
      min_polling_interval: 0.5
      amqp_publish_retry: True
      amqp_publish_retry_max_retries: 5
      amqp_publish_retry_interval_start: 10
      amqp_publish_retry_interval_step: 10
      amqp_publish_retry_interval_max: 60

# We also need to create the dependency resolver file so pulsar knows how to
# find and install dependencies for the tools we ask it to run. The simplest
# method which covers 99% of the use cases is to use conda auto installs similar
# to how Galaxy works.
pulsar_dependency_resolvers:
  - name: conda
    args:
      - name: auto_init
        value: true
