# -*- coding: utf-8 -*-
# vim: ft=yaml

{% import_yaml "salt/ospyvermap.yaml" as ospyvermap %}
{% set ospyver = salt['grains.filter_by'](ospyvermap, grain='os_family') or {} %}
{% set py_ver_dir = salt['pillar.filter_by'](ospyver, pillar='salt:py_ver', default='py2') %}

{% set osrelease = salt['grains.get']('osrelease') %}
{% set salt_release = salt['pillar.get']('salt:release', 'latest') %}
{% if salt_release.split('.')|length >= 3 %}
{% set salt_release = 'archive/' ~ salt_release %}
{% endif %}
{% set osfamily_lower =  salt['grains.get']('os_family')|lower %}
{% set osmajorrelease = salt['grains.get']('osmajorrelease', osrelease)|string %}
{% set oscodename = salt['grains.get']('oscodename') %}

Debian:
  pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_dir }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }} {{ oscodename }} main'
  key_url: 'https://repo.saltstack.com/{{ py_ver_dir }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub'
  libgit2: libgit2-22
  pyinotify: python-pyinotify
  gitfs:
    pygit2:
      install_from_source: True
      version: 0.22.1
      git:
        require_state: False
        install_from_package: git
      libgit2:
        install_from_source: False

RedHat:
  pkgrepo: 'https://repo.saltstack.com/{{ py_ver_dir }}/redhat/$releasever/$basearch/{{ salt_release }}'
  key_url: 'https://repo.saltstack.com/{{ py_ver_dir }}/redhat/$releasever/$basearch/{{ salt_release }}/SALTSTACK-GPG-KEY.pub'
  pygit2: python-pygit2
  python_git: GitPython
  gitfs:
    gitpython:
      install_from_source: False
    pygit2:
      install_from_source: False
      git:
        require_state: False
        install_from_package: git
  master:
    gitfs_provider: pygit2

Suse:
  pkgrepo: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/'
  key_url: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/repodata/repomd.xml.key'
  pygit2: python-pygit2
  pyinotify: python-pyinotify
  gitfs:
    pygit2:
      install_from_source: False
      git:
        require_state: False
        install_from_package: git
  master:
    gitfs_provider: pygit2

Gentoo:
  salt_master: app-admin/salt
  salt_minion: app-admin/salt
  salt_syndic: app-admin/salt
  salt_api: app-admin/salt
  salt_cloud: app-admin/salt
  pyinotify:  dev-python/pyinotify

Arch:
  salt_master: salt
  salt_minion: salt
  salt_syndic: salt
  salt_cloud: salt
  salt_api: salt
  salt_ssh: salt
  python_git: python2-gitpython
  pygit2: python2-pygit2
  libgit2: libgit2
  pyinotify: python2-pyinotify

Alpine:
  salt-master: salt-master
  salt_minion: salt-minion
  salt_syndic: salt-syndic
  salt_cloud: salt-cloud
  salt_api: salt-api
  salt_ssh: salt-ssh
  pygit2: py2-pygit2
  libgit2: libgit2

FreeBSD:
  salt_master: py27-salt
  salt_minion: py27-salt
  salt_syndic: py27-salt
  salt_cloud: py27-salt
  salt_api: py27-salt
  salt_ssh: py27-salt
  python_git: py27-GitPython
  pygit2: py27-pygit2
  config_path: /usr/local/etc/salt
  minion_service: salt_minion
  master_service: salt_master
  api_service: salt_api
  syndic_service: salt_syndic

OpenBSD:
  salt_master: salt
  salt_minion: salt
  salt_syndic: salt
  salt_cloud: salt
  salt_api: salt
  salt_ssh: salt
  config_path: /etc/salt
  minion_service: salt_minion
  master_service: salt_master
  python_git: py-GitPython

Windows:
  salt_minion: salt-minion
  config_path: 'C:\salt\conf'
  minion_service: salt-minion

MacOS:
  salt_minion: com.saltstack.salt
  salt_minion_pkg_source: ''
  salt_minion_pkg_hash: ''
  config_path: /private/etc/salt
  minion_service: com.saltstack.salt.minion