# put this file in your ~/.config/automlbenchmark directory
# to override default configs
---
project_repository: https://github.com/openml/automlbenchmark#v2.0.6 # https://github.com/PGijsbers/automlbenchmark #
benchmarks:                     # configuration namespace for the benchmarks definitions.
  definition_dir:               # list of directories containing the benchmarks yaml definitions.
    - '{root}/resources/benchmarks'
    - '{user}/benchmarks'
  constraints_file:
    - '{user}/constraints.yaml'    
    - '{root}/resources/constraints.yaml'
  
aws:
  use_docker: false
  iam:
    temporary: false  # set to true if you want IAM entities (credentials used by ec2 instances) being recreated for each benchmark run.
    credentials_propagation_waiting_time_secs: 360  # increase this waiting time if you encounter credentials issues on ec2 instances when using temporary IAM.

  s3:
    bucket: automl-benchmark-697442f1 # automl-benchmark-bucket # ALWAYS SET this bucket name as it needs to be unique in entire S3 domain. #  automl-benchmark-697442f1  
                                        # (40 chars max as the app reserves some chars for temporary buckets)
                                        # if you prefer using temporary s3 buckets (see below), you can comment out this property.
    temporary: false  # set to true if you want a new s3-bucket being temporarily created/deleted for each benchmark run.

  ec2:
    terminate_instances: always  # see resources/config.yaml for explanations: you may want to switch this value to `success` if you want to investigate on benchmark failures.
    spot:
      enabled: true
      max_hourly_price: 0.40  # comment out to use default
    monitoring:
      cpu:
        abort_inactive_instances: false
      
  resource_files:  # this allows to automatically upload custom config + frameworks to the running instance (benchmark files are always uploaded).
    - '{user}/config.yaml'
    - '{user}/frameworks.yaml'
    - '{user}/extensions'
    - '{user}/benchmarks'
    - '{user}/constraints.yaml'

  job_scheduler:
    retry_on_errors:
      - 'SpotMaxPriceTooLow'
      - 'MaxSpotInstanceCountExceeded'
      - 'InsufficientFreeAddressesInSubnet'
      - 'InsufficientInstanceCapacity'
      - 'RequestLimitExceeded'

job_scheduler:
  max_parallel_jobs: 330
    
frameworks:              # configuration namespace for the frameworks definitions.
  definition_file:       # list of yaml files describing the frameworks base definitions.
    - '{root}/resources/frameworks.yaml'
    - '{user}/frameworks.yaml'
