---
driver:
  name: docker
  hostname: salt.ci.local
  use_sudo: false

provisioner:
  name: salt_solo
  salt_install: bootstrap
  salt_bootstrap_url: https://bootstrap.saltstack.com
  salt_version: latest
  salt_minion_id: salt.ci.local
  require_chef: false
  log_level: error
  formula: salt
  grains:
    noservices: true
  vendor_repo:
    - type: apt
      url: http://apt-mk.mirantis.com/xenial
      key_url: http://apt-mk.mirantis.com/public.gpg
      components: salt
      distribution: testing
  state_top:
    base:
      "*":
        - salt
  pillars:
    top.sls:
      base:
        "*":
          - salt
          - common
    common.sls:
      salt:
        minion:
          enabled: true
          master:
            host: localhost
          pkgs:
            - python-m2crypto
            - python-psutil
            - python-yaml
      linux:
        system:
          enabled: true
          name: salt
          domain: ci.local
  dependencies:
    - name: git
      repo: git
      source: https://github.com/salt-formulas/salt-formula-git.git
    - name: reclass
      repo: git
      source: https://github.com/salt-formulas/salt-formula-reclass.git

verifier:
  name: inspec
  sudo: true

platforms:
  - name: <%=ENV['PLATFORM'] || 'ubuntu-xenial'%>
    driver_config:
      image: <%=ENV['PLATFORM'] || 'trevorj/salty-whales:xenial'%>
      platform: ubuntu

suites:
  - name: minion-default
    provisioner:
      pillars:
        top.sls:
          base:
            "*":
              - common
              - minion_pki
              - minion_mine
              - minion_graph
              - minion_handler
              - minion_local_pillar
              - minion_local_reclass
      pillars-from-files:
        minion_pki.sls: tests/pillar/minion_pki_ca.sls
        minion_mine.sls: tests/pillar/minion_mine.sls
        minion_graph.sls: tests/pillar/minion_graph.sls
        minion_handler.sls: tests/pillar/minion_custom_handler.sls
        minion_local_pillar.sls: tests/pillar/minion_local_pillar.sls
        minion_local_reclass.sls: tests/pillar/minion_local_reclass.sls
        minion_backend_urllib.sls: tests/pillar/minion_backend_urllib.sls

  - name: master-default
    provisioner:
      pillars:
        top.sls:
          base:
            "*":
              - common
              - minion_pki
              - master_api
              - master_acl
              - master_ssh_key
              - master_ssh_password
              - master_ssh_root
              - minion_pki_cert
              - master_formulas
        common.sls:
          salt:
            master:
              #Use a useless package to avoid upgrading salt-master
              pkgs:
                - python-yaml
      pillars-from-files:
        minion_pki.sls: tests/pillar/minion_pki_ca.sls
        minion_pki_cert.sls: tests/pillar/minion_pki_cert.sls
        master_api.sls: tests/pillar/master_api.sls
        master_acl.sls: tests/pillar/master_acl.sls
        master_ssh_key.sls: tests/pillar/master_ssh_minion_key.sls
        master_ssh_password.sls: tests/pillar/master_ssh_minion_password.sls
        master_ssh_root.sls: tests/pillar/master_ssh_minion_root.sls
        master_formulas.sls: tests/pillar/master_formulas.sls

  - name: master-extpillar-composite
    provisioner:
      pillars-from-files:
        salt.sls: tests/pillar/master_single_extpillars.sls

  - name: master-extpillar-reclass
    provisioner:
      pillars-from-files:
        salt.sls: tests/pillar/master_single_extreclass.sls

  - name: master-backward-compat
    provisioner:
      pillars-from-files:
        salt.sls: tests/pillar/master_single_extolddays.sls

  - name: control-default
    provisioner:
      grains:
        noservices: true
      pillars:
        top.sls:
          base:
            "*":
              - common
              - control_cloud_digitalocean
              - control_cloud_openstack
              - control_virt
      pillars-from-files:
        control_cloud_digitalocean.sls: tests/pillar/control_cloud_digitalocean.sls
        control_cloud_openstack.sls: tests/pillar/control_cloud_openstack.sls
        control_virt.sls: tests/pillar/control_virt.sls

  - name: minion_multi_master_failover
    provisioner:
      pillars-from-files:
        salt.sls: tests/pillar/minion_multi_master_failover.sls


  # vim: ft=yaml sw=2 ts=2 sts=2 tw=125