Aptly server with mirror definitions
diff --git a/aptly/server/mirror/debian/aptly.yml b/aptly/server/mirror/debian/aptly.yml
new file mode 100644
index 0000000..e919b20
--- /dev/null
+++ b/aptly/server/mirror/debian/aptly.yml
@@ -0,0 +1,16 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        aptly:
+          source: http://repo.aptly.info/
+          distribution: squeeze
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 9C7DE460
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
diff --git a/aptly/server/mirror/debian/cassandra.yml b/aptly/server/mirror/debian/cassandra.yml
new file mode 100644
index 0000000..3659536
--- /dev/null
+++ b/aptly/server/mirror/debian/cassandra.yml
@@ -0,0 +1,18 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        cassandra-21x:
+          source: http://www.apache.org/dist/cassandra/debian
+          distribution: 21x
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - F758CE318D77295D
+            - 2B5C1B00
+            - 0353B12C
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
diff --git a/aptly/server/mirror/debian/elasticsearch.yml b/aptly/server/mirror/debian/elasticsearch.yml
new file mode 100644
index 0000000..2050c35
--- /dev/null
+++ b/aptly/server/mirror/debian/elasticsearch.yml
@@ -0,0 +1,52 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        elasticsearch-2x:
+          source: http://packages.elastic.co/elasticsearch/2.x/debian
+          distribution: stable
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D88E42B4
+          publisher:
+            component: elastic
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
+        kibana:
+          source: http://packages.elasticsearch.org/kibana/4.4/debian
+          distribution: stable
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D88E42B4
+          publisher:
+            component: elastic
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
+        kibana-46:
+          source: http://packages.elasticsearch.org/kibana/4.6/debian
+          distribution: stable
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D88E42B4
+          publisher:
+            component: elastic
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
+        elasticsearch-curator:
+          source: http://packages.elastic.co/curator/4/debian
+          distribution: stable
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D88E42B4
+          publisher:
+            component: elastic
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
diff --git a/aptly/server/mirror/debian/init.yml b/aptly/server/mirror/debian/init.yml
new file mode 100644
index 0000000..ef348ff
--- /dev/null
+++ b/aptly/server/mirror/debian/init.yml
@@ -0,0 +1,7 @@
+## Debian family mirrors
+classes:
+- system.aptly.server.mirror.debian.aptly
+- system.aptly.server.mirror.debian.cassandra
+- system.aptly.server.mirror.debian.jenkins
+- system.aptly.server.mirror.debian.sensu
+- system.aptly.server.mirror.debian.elasticsearch
diff --git a/aptly/server/mirror/debian/jenkins.yml b/aptly/server/mirror/debian/jenkins.yml
new file mode 100644
index 0000000..1c6ee8c
--- /dev/null
+++ b/aptly/server/mirror/debian/jenkins.yml
@@ -0,0 +1,30 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        jenkins:
+          source: http://pkg.jenkins-ci.org/debian/
+          distribution: binary/
+          components: ""
+          architectures: amd64
+          gpgkeys:
+            - D50582E6
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
+        jenkins-debian-glue:
+          source: http://jenkins.grml.org/debian/
+          distribution: jenkins-debian-glue
+          components: main
+          architectures: amd64
+          # TODO: this key is not uploaded to keyserver, workaround:
+          # su aptly -c 'curl http://jenkins.grml.org/debian/C525F56752D4A654.asc|gpg --no-default-keyring --keyring trustedkeys.gpg --import'
+          gpgkeys:
+            - 52D4A654
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
diff --git a/aptly/server/mirror/debian/sensu.yml b/aptly/server/mirror/debian/sensu.yml
new file mode 100644
index 0000000..fac40f7
--- /dev/null
+++ b/aptly/server/mirror/debian/sensu.yml
@@ -0,0 +1,16 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        sensu:
+          source: http://sensu.global.ssl.fastly.net/apt
+          distribution: sensu
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - EB9C94BB
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+              - nightly/xenial
diff --git a/aptly/server/mirror/ubuntu/trusty/ceph.yml b/aptly/server/mirror/ubuntu/trusty/ceph.yml
new file mode 100644
index 0000000..0b4d7c3
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/ceph.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        ceph-trusty:
+          source: http://download.ceph.com/debian-hammer
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 460F3994
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/docker.yml b/aptly/server/mirror/ubuntu/trusty/docker.yml
new file mode 100644
index 0000000..5fc2a76
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/docker.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        docker-trusty:
+          source: https://apt.dockerproject.org/repo
+          distribution: ubuntu-trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 58118E89F3A912897C070ADBF76221572C52609D
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/erlang.yml b/aptly/server/mirror/ubuntu/trusty/erlang.yml
new file mode 100644
index 0000000..aba5e03
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/erlang.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        erlang-trusty:
+          source: http://packages.erlang-solutions.com/ubuntu
+          distribution: trusty
+          components: contrib
+          architectures: amd64
+          gpgkeys:
+            - A14F4FCA
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/foreman.yml b/aptly/server/mirror/ubuntu/trusty/foreman.yml
new file mode 100644
index 0000000..fa9658b
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/foreman.yml
@@ -0,0 +1,26 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        foreman-trusty:
+          source: http://deb.theforeman.org
+          distribution: trusty
+          components: stable
+          architectures: amd64
+          gpgkeys:
+            - 1AA043B8
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
+        foreman-plugins-trusty:
+          source: http://deb.theforeman.org
+          distribution: plugins
+          components: stable
+          architectures: amd64
+          gpgkeys:
+            - 1AA043B8
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/galera.yml b/aptly/server/mirror/ubuntu/trusty/galera.yml
new file mode 100644
index 0000000..d4686e1
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/galera.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        galera-trusty:
+          source: http://releases.galeracluster.com/ubuntu/
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - BC19DDBA
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/grafana.yml b/aptly/server/mirror/ubuntu/trusty/grafana.yml
new file mode 100644
index 0000000..65afab9
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/grafana.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        grafana-trusty:
+          source: https://packagecloud.io/grafana/stable/debian/
+          distribution: wheezy
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D59097AB
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/haproxy.yml b/aptly/server/mirror/ubuntu/trusty/haproxy.yml
new file mode 100644
index 0000000..e69fa20
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/haproxy.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        haproxy-trusty:
+          source: http://ppa.launchpad.net/vbernat/haproxy-1.5/ubuntu
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 1C61B9CD
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/init.yml b/aptly/server/mirror/ubuntu/trusty/init.yml
new file mode 100644
index 0000000..fa56313
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/init.yml
@@ -0,0 +1,12 @@
+## Ubuntu trusty
+classes:
+- system.aptly.server.mirror.ubuntu.trusty.grafana
+- system.aptly.server.mirror.ubuntu.trusty.haproxy
+- system.aptly.server.mirror.ubuntu.trusty.salt
+- system.aptly.server.mirror.ubuntu.trusty.sssd
+- system.aptly.server.mirror.ubuntu.trusty.ubuntucloud
+- system.aptly.server.mirror.ubuntu.trusty.ubuntu
+- system.aptly.server.mirror.ubuntu.trusty.erlang
+- system.aptly.server.mirror.ubuntu.trusty.docker
+- system.aptly.server.mirror.ubuntu.trusty.ceph
+- system.aptly.server.mirror.ubuntu.trusty.rabbitmq
diff --git a/aptly/server/mirror/ubuntu/trusty/mos8.yml b/aptly/server/mirror/ubuntu/trusty/mos8.yml
new file mode 100644
index 0000000..7c9fe1a
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/mos8.yml
@@ -0,0 +1,65 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        mirantis-openstack-8.0-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0
+          components: main restricted
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: main
+            distributions:
+              - mos8.0
+        mirantis-openstack-8.0-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos8.0
+        mirantis-openstack-8.0-hotfix-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0-hotfix
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos8.0-hotfix
+        mirantis-openstack-8.0-proposed-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0-proposed
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos8.0-proposed
+        mirantis-openstack-8.0-security-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0-security
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos8.0-security
+        mirantis-openstack-8.0-updates-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
+          distribution: mos8.0-updates
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos8.0-updates
diff --git a/aptly/server/mirror/ubuntu/trusty/mos9.yml b/aptly/server/mirror/ubuntu/trusty/mos9.yml
new file mode 100644
index 0000000..e9aeddb
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/mos9.yml
@@ -0,0 +1,65 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        mirantis-openstack-9.0-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0
+          components: main restricted
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: main
+            distributions:
+              - mos9.0
+        mirantis-openstack-9.0-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos9.0
+        mirantis-openstack-9.0-hotfix-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0-hotfix
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos9.0-hotfix
+        mirantis-openstack-9.0-proposed-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0-proposed
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos9.0-proposed
+        mirantis-openstack-9.0-security-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0-security
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos9.0-security
+        mirantis-openstack-9.0-updates-trusty:
+          source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
+          distribution: mos9.0-updates
+          components: main restricted
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+          publisher:
+            component: main
+            distributions:
+              - mos9.0-updates
diff --git a/aptly/server/mirror/ubuntu/trusty/rabbitmq.yml b/aptly/server/mirror/ubuntu/trusty/rabbitmq.yml
new file mode 100644
index 0000000..17b0f07
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/rabbitmq.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        rabbitmq-testing-trusty:
+          source: http://www.rabbitmq.com/debian/
+          distribution: testing
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 056E8E56
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/salt.yml b/aptly/server/mirror/ubuntu/trusty/salt.yml
new file mode 100644
index 0000000..8c46007
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/salt.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        salt-2015.8-trusty:
+          source: http://repo.saltstack.com/apt/ubuntu/ubuntu14/2015.8/
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - DE57BFBE
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/sssd.yml b/aptly/server/mirror/ubuntu/trusty/sssd.yml
new file mode 100644
index 0000000..06e17d7
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/sssd.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        sssd-trusty:
+          source: http://ppa.launchpad.net/sssd/updates/ubuntu
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - CA45F42B
+          publisher:
+            component: extra
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu.yml
new file mode 100644
index 0000000..d4e9ba5
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu.yml
@@ -0,0 +1,69 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        trusty-main:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: trusty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/trusty
+        trusty-universe:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: trusty
+          components: universe
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/trusty
+        trusty-updates:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: trusty-updates
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/trusty
+        trusty-updates-universe:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: trusty-updates
+          components: universe
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/trusty
+        trusty-security:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: trusty-security
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: security
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntucloud.yml b/aptly/server/mirror/ubuntu/trusty/ubuntucloud.yml
new file mode 100644
index 0000000..2fefde0
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntucloud.yml
@@ -0,0 +1,48 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        trusty-updates-juno:
+          source: http://ubuntu-cloud.archive.canonical.com/ubuntu/
+          distribution: trusty-updates/juno
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: juno
+            distributions:
+              - nightly/trusty
+        trusty-updates-kilo:
+          source: http://ubuntu-cloud.archive.canonical.com/ubuntu/
+          distribution: trusty-updates/kilo
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: kilo
+            distributions:
+              - nightly/trusty
+        trusty-updates-liberty:
+          source: http://ubuntu-cloud.archive.canonical.com/ubuntu/
+          distribution: trusty-updates/liberty
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: liberty
+            distributions:
+              - nightly/trusty
+        trusty-updates-mitaka:
+          source: http://ubuntu-cloud.archive.canonical.com/ubuntu/
+          distribution: trusty-updates/mitaka
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - EC4926EA
+          publisher:
+            component: mitaka
+            distributions:
+              - nightly/trusty
diff --git a/aptly/server/mirror/ubuntu/xenial/ceph.yml b/aptly/server/mirror/ubuntu/xenial/ceph.yml
new file mode 100644
index 0000000..53d2ae8
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/ceph.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        ceph-xenial:
+          source: http://download.ceph.com/debian-hammer
+          distribution: xenial
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 460F3994
+          publisher:
+            component: extra
+            distributions:
+              - nightly/xenial
diff --git a/aptly/server/mirror/ubuntu/xenial/docker.yml b/aptly/server/mirror/ubuntu/xenial/docker.yml
new file mode 100644
index 0000000..64bf728
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/docker.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        docker-xenial:
+          source: https://apt.dockerproject.org/repo
+          distribution: ubuntu-xenial
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 58118E89F3A912897C070ADBF76221572C52609D
+          publisher:
+            component: extra
+            distributions:
+              - nightly/xenial
diff --git a/aptly/server/mirror/ubuntu/xenial/grafana.yml b/aptly/server/mirror/ubuntu/xenial/grafana.yml
new file mode 100644
index 0000000..ffee38c
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/grafana.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        grafana-xenial:
+          source: https://packagecloud.io/grafana/stable/debian/
+          distribution: jessie
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - D59097AB
+          publisher:
+            component: extra
+            distributions:
+              - nightly/xenial
diff --git a/aptly/server/mirror/ubuntu/xenial/init.yml b/aptly/server/mirror/ubuntu/xenial/init.yml
new file mode 100644
index 0000000..e6805b3
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/init.yml
@@ -0,0 +1,7 @@
+## Ubuntu xenial
+classes:
+- system.aptly.server.mirror.ubuntu.xenial.ceph
+- system.aptly.server.mirror.ubuntu.xenial.docker
+- system.aptly.server.mirror.ubuntu.xenial.grafana
+- system.aptly.server.mirror.ubuntu.xenial.ubuntu
+- system.aptly.server.mirror.ubuntu.xenial.salt
diff --git a/aptly/server/mirror/ubuntu/xenial/salt.yml b/aptly/server/mirror/ubuntu/xenial/salt.yml
new file mode 100644
index 0000000..e41459f
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/salt.yml
@@ -0,0 +1,15 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        salt-2016.3-xenial:
+          source: http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/
+          distribution: xenial
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - DE57BFBE
+          publisher:
+            component: extra
+            distributions:
+              - nightly/xenial
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu.yml
new file mode 100644
index 0000000..b202450
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu.yml
@@ -0,0 +1,69 @@
+parameters:
+  aptly:
+    server:
+      mirror:
+        xenial-main:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: xenial
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/xenial
+        xenial-universe:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: xenial
+          components: universe
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/xenial
+        xenial-updates:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: xenial-updates
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/xenial
+        xenial-updates-universe:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: xenial-updates
+          components: universe
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: main
+            distributions:
+              - nightly/xenial
+        xenial-security:
+          source: http://cz.archive.ubuntu.com/ubuntu/
+          distribution: xenial-security
+          components: main
+          architectures: amd64
+          gpgkeys:
+            - 40976EAF437D05B5
+            - 437D05B5
+            - C0B21F32
+          publisher:
+            component: security
+            distributions:
+              - nightly/xenial
diff --git a/aptly/server/single.yml b/aptly/server/single.yml
new file mode 100644
index 0000000..f004402
--- /dev/null
+++ b/aptly/server/single.yml
@@ -0,0 +1,79 @@
+classes:
+- service.aptly.server.single
+- system.nginx.server.single
+- service.iptables.server
+parameters:
+  _param:
+    aptly_gpg_passphrase:
+    nginx_aptly_server_host: ${linux:network:fqdn}
+  iptables:
+    service:
+      enabled: true
+      chain:
+        INPUT:
+          rules:
+            # Only local network can access WebDav and aptly API
+            - destination_port: 8088
+              protocol: tcp
+              source_network: 10.0.107.0/24
+              jump: ACCEPT
+            - destination_port: 8088
+              protocol: tcp
+              source_network: 185.22.96.0/22
+              jump: ACCEPT
+            - destination_port: 8088
+              protocol: tcp
+              source_network: 10.0.174.0/23
+              jump: ACCEPT
+            - destination_port: 8088
+              protocol: tcp
+              source_network: 10.0.175.0/23
+              jump: ACCEPT
+            - destination_port: 8088
+              protocol: tcp
+              jump: DROP
+            - destination_port: 8081
+              protocol: tcp
+              source_network: 10.0.107.0/24
+              jump: ACCEPT
+            - destination_port: 8081
+              protocol: tcp
+              source_network: 10.0.174.0/23
+              jump: ACCEPT
+            - destination_port: 8081
+              protocol: tcp
+              source_network: 10.0.175.0/23
+              jump: ACCEPT
+            - destination_port: 8081
+              protocol: tcp
+              jump: DROP
+  nginx:
+    server:
+      site:
+        aptly_server:
+          enabled: true
+          type: aptly
+          name: server
+          host:
+            name: ${_param:nginx_aptly_server_host}
+        aptly_api:
+          enabled: true
+          check: false
+          type: nginx_proxy
+          name: aptly_api
+          proxy:
+            host: 127.0.0.1
+            port: 8080
+            protocol: http
+            size: 1G
+          host:
+            name: ${_param:nginx_aptly_server_host}
+            port: 8081
+  aptly:
+    server:
+      enabled: true
+      secure: true
+      gpg_keypair_id: ${_param:aptly_gpg_keypair_id}
+      gpg_passphrase: ${_param:gpg_passphrase}
+      gpg_public_key: ${_param:aptly_gpg_public_key}
+      gpg_private_key: ${_param:aptly_gpg_private_key}