# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# For help on this file's format, see https://kitchen.ci/
driver:
  name: docker
  use_sudo: false
  privileged: true
  run_command: /usr/lib/systemd/systemd

provisioner:
  name: salt_solo
  log_level: debug
  salt_install: none
  require_chef: false
  formula: packages
  salt_copy_filter:
    - .kitchen
    - .git

platforms:
  ## SALT `tiamat`
  - name: debian-11-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:debian-11
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-10-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:debian-10
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-9-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:debian-9
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: ubuntu-2204-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:ubuntu-22.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-2004-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:ubuntu-20.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-1804-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:ubuntu-18.04
      run_command: /lib/systemd/systemd
  - name: centos-stream8-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:centos-stream8
  - name: centos-7-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:centos-7
  - name: amazonlinux-2-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:amazonlinux-2
  - name: oraclelinux-8-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:oraclelinux-8
  - name: oraclelinux-7-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:oraclelinux-7
  - name: almalinux-8-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:almalinux-8
  - name: rockylinux-8-tiamat-py3
    driver:
      image: saltimages/salt-tiamat-py3:rockylinux-8

  ## SALT `master`
  - name: debian-11-master-py3
    driver:
      image: saltimages/salt-master-py3:debian-11
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-10-master-py3
    driver:
      image: saltimages/salt-master-py3:debian-10
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-9-master-py3
    driver:
      image: saltimages/salt-master-py3:debian-9
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: ubuntu-2204-master-py3
    driver:
      image: saltimages/salt-master-py3:ubuntu-22.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-2004-master-py3
    driver:
      image: saltimages/salt-master-py3:ubuntu-20.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-1804-master-py3
    driver:
      image: saltimages/salt-master-py3:ubuntu-18.04
      run_command: /lib/systemd/systemd
  - name: centos-stream8-master-py3
    driver:
      image: saltimages/salt-master-py3:centos-stream8
  - name: centos-7-master-py3
    driver:
      image: saltimages/salt-master-py3:centos-7
  - name: fedora-36-master-py3
    driver:
      image: saltimages/salt-master-py3:fedora-36
  - name: fedora-35-master-py3
    driver:
      image: saltimages/salt-master-py3:fedora-35
  - name: opensuse-leap-153-master-py3
    driver:
      image: saltimages/salt-master-py3:opensuse-leap-15.3
    # Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
    # => SCP did not finish successfully (255):  (Net::SCP::Error)
    transport:
      max_ssh_sessions: 1
  - name: opensuse-tmbl-latest-master-py3
    driver:
      image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
    # Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
    # => SCP did not finish successfully (255):  (Net::SCP::Error)
    transport:
      max_ssh_sessions: 1
  - name: amazonlinux-2-master-py3
    driver:
      image: saltimages/salt-master-py3:amazonlinux-2
  - name: oraclelinux-8-master-py3
    driver:
      image: saltimages/salt-master-py3:oraclelinux-8
  - name: oraclelinux-7-master-py3
    driver:
      image: saltimages/salt-master-py3:oraclelinux-7
  - name: arch-base-latest-master-py3
    driver:
      image: saltimages/salt-master-py3:arch-base-latest
  - name: gentoo-stage3-latest-master-py3
    driver:
      image: saltimages/salt-master-py3:gentoo-stage3-latest
      run_command: /sbin/init
  - name: gentoo-stage3-systemd-master-py3
    driver:
      image: saltimages/salt-master-py3:gentoo-stage3-systemd
  - name: almalinux-8-master-py3
    driver:
      image: saltimages/salt-master-py3:almalinux-8
  - name: rockylinux-8-master-py3
    driver:
      image: saltimages/salt-master-py3:rockylinux-8

  ## SALT `3004.1`
  - name: debian-11-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:debian-11
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-10-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:debian-10
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-9-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:debian-9
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: ubuntu-2204-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:ubuntu-22.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-2004-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:ubuntu-20.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-1804-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:ubuntu-18.04
      run_command: /lib/systemd/systemd
  - name: centos-stream8-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:centos-stream8
  - name: centos-7-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:centos-7
  - name: fedora-36-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:fedora-36
  - name: fedora-35-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:fedora-35
  - name: amazonlinux-2-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:amazonlinux-2
  - name: oraclelinux-8-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:oraclelinux-8
  - name: oraclelinux-7-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:oraclelinux-7
  - name: arch-base-latest-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:arch-base-latest
  - name: gentoo-stage3-latest-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
      run_command: /sbin/init
  - name: gentoo-stage3-systemd-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
  - name: almalinux-8-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:almalinux-8
  - name: rockylinux-8-3004-1-py3
    driver:
      image: saltimages/salt-3004.1-py3:rockylinux-8

  ## SALT `3004.0`
  - name: opensuse-leap-153-3004-0-py3
    driver:
      image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
    # Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
    # => SCP did not finish successfully (255):  (Net::SCP::Error)
    transport:
      max_ssh_sessions: 1
  - name: opensuse-tmbl-latest-3004-0-py3
    driver:
      image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
    # Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
    # => SCP did not finish successfully (255):  (Net::SCP::Error)
    transport:
      max_ssh_sessions: 1

  ## SALT `3003.4`
  - name: debian-10-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:debian-10
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: debian-9-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:debian-9
      provision_command:
        - apt-get update
        - apt-get install --reinstall -y udev
        - apt-get install -y snapd
      run_command: /lib/systemd/systemd
  - name: ubuntu-2004-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:ubuntu-20.04
      run_command: /lib/systemd/systemd
  - name: ubuntu-1804-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:ubuntu-18.04
      run_command: /lib/systemd/systemd
  - name: centos-stream8-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:centos-stream8
  - name: centos-7-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:centos-7
  - name: amazonlinux-2-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:amazonlinux-2
  - name: oraclelinux-8-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:oraclelinux-8
  - name: oraclelinux-7-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:oraclelinux-7
  - name: almalinux-8-3003-4-py3
    driver:
      image: saltimages/salt-3003.4-py3:almalinux-8

verifier:
  # https://www.inspec.io/
  name: inspec
  sudo: true
  reporter:
    # cli, documentation, html, progress, json, json-min, json-rspec, junit
    - cli

suites:
  - name: debian
    includes:
      - debian-11-tiamat-py3
      - debian-10-tiamat-py3
      - debian-9-tiamat-py3
      - debian-11-master-py3
      - debian-10-master-py3
      - debian-9-master-py3
      - debian-11-3004-1-py3
      - debian-10-3004-1-py3
      - debian-9-3004-1-py3
      - debian-10-3003-4-py3
      - debian-9-3003-4-py3
    provisioner:
      dependencies:
        - name: node
          repo: git
          source: https://github.com/saltstack-formulas/node-formula.git
      state_top:
        base:
          '*':
            - packages._mapdata
            - node
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/debian.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: ubuntu
    includes:
      - ubuntu-2204-tiamat-py3
      - ubuntu-2004-tiamat-py3
      - ubuntu-1804-tiamat-py3
      - ubuntu-2204-master-py3
      - ubuntu-2004-master-py3
      - ubuntu-1804-master-py3
      - ubuntu-2204-3004-1-py3
      - ubuntu-2004-3004-1-py3
      - ubuntu-1804-3004-1-py3
      - ubuntu-2004-3003-4-py3
      - ubuntu-1804-3003-4-py3
    provisioner:
      dependencies:
        - name: golang
          repo: git
          source: https://github.com/saltstack-formulas/golang-formula.git
      state_top:
        base:
          '*':
            - packages._mapdata
            - golang.package
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/ubuntu.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: fedora
    includes:
      - fedora-36-master-py3
      - fedora-35-master-py3
      - fedora-36-3004-1-py3
      - fedora-35-3004-1-py3
    provisioner:
      state_top:
        base:
          '*':
            - packages._mapdata
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/fedora.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: redhat8
    includes:
      - centos-stream8-tiamat-py3
      - oraclelinux-8-tiamat-py3
      - almalinux-8-tiamat-py3
      - rockylinux-8-tiamat-py3
      - centos-stream8-master-py3
      - oraclelinux-8-master-py3
      - almalinux-8-master-py3
      - rockylinux-8-master-py3
      - centos-stream8-3004-1-py3
      - oraclelinux-8-3004-1-py3
      - almalinux-8-3004-1-py3
      - rockylinux-8-3004-1-py3
      - centos-stream8-3003-4-py3
      - oraclelinux-8-3003-4-py3
      - almalinux-8-3003-4-py3
    provisioner:
      dependencies:
        - name: epel
          repo: git
          source: https://github.com/saltstack-formulas/epel-formula.git
      state_top:
        base:
          '*':
            - packages._mapdata
            - epel
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/redhat8.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: centos
    includes:
      - centos-7-tiamat-py3
      - oraclelinux-7-tiamat-py3
      - centos-7-master-py3
      - oraclelinux-7-master-py3
      - centos-7-3004-1-py3
      - oraclelinux-7-3004-1-py3
      - centos-7-3003-4-py3
      - oraclelinux-7-3003-4-py3
    provisioner:
      dependencies:
        - name: epel
          repo: git
          source: https://github.com/saltstack-formulas/epel-formula.git
      state_top:
        base:
          '*':
            - packages._mapdata
            - epel
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/redhat.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: amazon
    includes:
      - amazonlinux-2-tiamat-py3
      - amazonlinux-2-master-py3
      - amazonlinux-2-3004-1-py3
      - amazonlinux-2-3003-4-py3
    provisioner:
      dependencies:
        - name: epel
          repo: git
          source: https://github.com/saltstack-formulas/epel-formula.git
      state_top:
        base:
          '*':
            - packages._mapdata
            - epel
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/amazon.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: suse
    includes:
      - opensuse-leap-153-master-py3
      - opensuse-tmbl-latest-master-py3
      - opensuse-leap-153-3004-0-py3
      - opensuse-tmbl-latest-3004-0-py3
    provisioner:
      state_top:
        base:
          '*':
            - packages._mapdata
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/opensuse.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: arch
    includes:
      - arch-base-latest-master-py3
      - arch-base-latest-3004-1-py3
    provisioner:
      state_top:
        base:
          '*':
            - packages._mapdata
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/arch.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: gentoo
    includes:
      - gentoo-stage3-latest-master-py3
      - gentoo-stage3-systemd-master-py3
      - gentoo-stage3-latest-3004-1-py3
      - gentoo-stage3-systemd-3004-1-py3
    provisioner:
      state_top:
        base:
          '*':
            - packages._mapdata
            - packages
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/gentoo.sls
    verifier:
      inspec_tests:
        - path: test/integration/default
  - name: windows
    includes:
      - windows-10-latest-py3
      - windows-81-latest-py3
      - windows-2022-latest-py3
      - windows-2019-latest-py3
    provisioner:
      state_top:
        base:
          '*':
            - packages._mapdata
            - packages.chocolatey
      pillars:
        top.sls:
          base:
            '*':
              - packages
      pillars_from_files:
        packages.sls: test/salt/pillar/windows.sls
    verifier:
      inspec_tests:
        - path: test/integration/windows