--- /dev/null
+{%- set has_debian_repo = salt['pillar.get']('has_debian_repo', False) %}
+
+{%- if has_debian_repo %}
+
+{%- set repo_root_dir = salt['pillar.get']('debian_repo:root_dir', '/var/www/html') %}
+{%- set debian_sub_dir = salt['pillar.get']('debian_repo:debian_sub_dir', 'Debian') %}
+{%- set ubuntu_sub_dir = salt['pillar.get']('debian_repo:ubuntu_sub_dir', 'Ubuntu') %}
+{%- set sources_sub_dir = salt['pillar.get']('debian_repo:sources_sub_dir', 'Sources') %}
+{%- set debian_distros = salt['pillar.get']('debian_repo:debian_distros', ['jessie']) %}
+{%- set ubuntu_distros = salt['pillar.get']('debian_repo:ubuntu_distros', ['xenial']) %}
+
+
+repo_root_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}
+ - user: root
+ - group: root
+ - mode: 0755
+ - makedirs: True
+
+repo_user:
+ user.present:
+ - name: repo
+ - fullname: Repository user {{ grains['host'] }}
+ - shell: /bin/bash
+ - uid: 1111
+ - gid: users
+ - groups:
+ - man
+ - backup
+ - operator
+ - src
+ - staff
+ - optional_groups:
+ - mlocate
+ - sbuild
+ - createhome: True
+
+repo_debian_sub_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}/{{ debian_sub_dir }}
+ - user: repo
+ - group: root
+ - mode: 0755
+ - require:
+ - file: repo_root_dir
+ - user: repo_user
+
+{%- for distro in debian_distros %}
+
+repo_debian_{{ distro }}_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}/{{ debian_sub_dir }}/{{ distro }}
+ - user: repo
+ - group: root
+ - mode: 0755
+ - require:
+ - file: repo_debian_sub_dir
+ - user: repo_user
+
+{%- endfor %}
+
+repo_ubuntu_sub_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}/{{ ubuntu_sub_dir }}
+ - user: repo
+ - group: root
+ - mode: 0755
+ - require:
+ - file: repo_root_dir
+ - user: repo_user
+
+repo_sources_sub_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}/{{ sources_sub_dir }}
+ - user: repo
+ - group: root
+ - mode: 0755
+ - require:
+ - file: repo_root_dir
+ - user: repo_user
+
+{%- for distro in ubuntu_distros %}
+
+repo_ubuntu_{{ distro }}_dir:
+ file.directory:
+ - name: {{ repo_root_dir }}/{{ ubuntu_sub_dir }}/{{ distro }}
+ - user: repo
+ - group: root
+ - mode: 0755
+ - require:
+ - file: repo_ubuntu_sub_dir
+ - user: repo_user
+
+{%- endfor %}
+
+{% endif %}