initial commit
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3ccc2dd
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+
+# TFTPD HPA server
+
+A TFTP server is mainly required for booting operating systems or configurations over the network.
+
+## Sample pillars
+
+TFTPD HPA server
+
+ tftpd_hpa:
+ server:
+ enabled: true
+
+## Read more
+
+* http://chschneider.eu/linux/server/tftpd-hpa.shtml
\ No newline at end of file
diff --git a/init.sls b/init.sls
new file mode 100644
index 0000000..9f90067
--- /dev/null
+++ b/init.sls
@@ -0,0 +1,5 @@
+
+include:
+{%- if pillar.tftpd_hpa.server.enabled %}
+- tftpd_hpa.server
+{%- endif %}
diff --git a/map.jinja b/map.jinja
new file mode 100644
index 0000000..8a45722
--- /dev/null
+++ b/map.jinja
@@ -0,0 +1,21 @@
+
+{% load_yaml as raw_server %}
+Debian:
+ pkgs:
+ - tftpd-hpa
+ - syslinux
+ {%- if salt['grains.get']('os') == 'Ubuntu' %}
+ path: /var/lib/tftpboot
+ {%- else %}
+ path: /srv/tftp
+ {%- endif %}
+ service: tftpd-hpa
+RedHat:
+ pkgs:
+ - tftp-server
+ - syslinux
+ root: /var/lib/tftpboot/
+ service: tftpd-hpa
+{% endload %}
+
+{% set server = salt['grains.filter_by'](raw_server, merge=salt['pillar.get']('tftpd_hpa:server')) %}
diff --git a/server.sls b/server.sls
new file mode 100644
index 0000000..4ac9f67
--- /dev/null
+++ b/server.sls
@@ -0,0 +1,14 @@
+{%- from "tftpd_hpa/map.jinja" import server with context %}
+{%- if server.enabled %}
+
+tftpd_hpa_package:
+ pkg.installed:
+ - pkgs: {{ server.pkgs }}
+
+tftpd_hpa_service:
+ service.running:
+ - name: {{ server.service }}
+ - enabled: true
+ - running: true
+
+{%- endif %}
\ No newline at end of file