Backport repos structure

Depends-On: https://gerrit.mcp.mirantis.com/#/c/37429/

Change-Id: Idce7bf41b98c9d684381fae7197d74c21dd82ed1
Prod-related: PROD-28395 (PROD:28395)
diff --git a/linux/system/repo/mcp/apt_mirantis/aptly.yml b/linux/system/repo/mcp/apt_mirantis/aptly.yml
index 5a023a5..5a8600a 100644
--- a/linux/system/repo/mcp/apt_mirantis/aptly.yml
+++ b/linux/system/repo/mcp/apt_mirantis/aptly.yml
@@ -1,13 +1,13 @@
+# Deprecated since 2018.11
+# Will be removed in 2019.q2
+classes:
+- system.linux.system.repo.keystorage.aptly
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_aptly_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_aptly:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_aptly_version}/aptly/${_param:linux_system_codename}/ squeeze main"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_aptly_url}/${_param:linux_system_codename}/ squeeze main"
           architectures: amd64
-          key_id: 9E3E53F19C7DE460
-          key_server: keys.gnupg.net
           clean_file: true
+          key: ${_param:linux_system_repo_mcp_aptly_key}
diff --git a/linux/system/repo/mcp/apt_mirantis/cassandra.yml b/linux/system/repo/mcp/apt_mirantis/cassandra.yml
index 8bf3583..9b651fa 100644
--- a/linux/system/repo/mcp/apt_mirantis/cassandra.yml
+++ b/linux/system/repo/mcp/apt_mirantis/cassandra.yml
@@ -1,14 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.cassandra
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_cassandra_version: ${_param:apt_mk_version}
-    linux_system_repo_mcp_cassandra_version_number: "21x"
   linux:
     system:
       repo:
         mcp_cassandra:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_cassandra_version}/cassandra/${_param:linux_system_codename}/ ${_param:linux_system_repo_mcp_cassandra_version_number} main"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_cassandra_url}/${_param:linux_system_codename}/ ${_param:linux_system_repo_mcp_cassandra_version} main"
           architectures: amd64
-          key_id: F8358FA2F2833C93
-          key_server: keyserver.ubuntu.com
           clean_file: true
+          key: ${_param:linux_system_repo_mcp_cassandra_key}
+          pin:
+          - pin: 'release o=Apache Cassandra Packages'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/ceph.yml b/linux/system/repo/mcp/apt_mirantis/ceph.yml
index 40c8d87..95ce2bb 100644
--- a/linux/system/repo/mcp/apt_mirantis/ceph.yml
+++ b/linux/system/repo/mcp/apt_mirantis/ceph.yml
@@ -1,17 +1,12 @@
+classes:
+- system.linux.system.repo.keystorage.ceph
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_ceph_version: ${_param:apt_mk_version}
-    linux_system_repo_mcp_ceph_codename: luminous
   linux:
     system:
       repo:
         mcp_ceph:
-          source: "deb [arch=amd64] http://apt.mirantis.com/${_param:linux_system_codename}/ ${_param:linux_system_repo_mcp_ceph_version} ceph-${_param:linux_system_repo_mcp_ceph_codename}"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_ceph_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_ceph_key}
+          #key_url: "https://download.ceph.com/keys/release.asc"
           architectures: amd64
-          key_url: "http://apt.mirantis.com/public.gpg"
           clean_file: true
-          pin:
-          - pin: 'release a=${_param:linux_system_repo_mcp_ceph_version}'
-            priority: 1100
-            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/contrail.yml b/linux/system/repo/mcp/apt_mirantis/contrail.yml
new file mode 100644
index 0000000..77c1455
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/contrail.yml
@@ -0,0 +1,13 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  _param:
+    linux_system_codename_contrail: trusty
+  linux:
+    system:
+      repo:
+        mcp_opencontrail:
+          source: "deb ${_param:linux_system_repo_opencontrail_url}/${_param:linux_system_codename_contrail} ${_param:linux_system_codename_contrail} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/contrail_ocata.yml b/linux/system/repo/mcp/apt_mirantis/contrail_ocata.yml
new file mode 100644
index 0000000..101fe92
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/contrail_ocata.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_opencontrail_ocata:
+          source: "deb ${_param:linux_system_repo_opencontrail_ocata_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/docker.yml b/linux/system/repo/mcp/apt_mirantis/docker.yml
index d3314a9..82411c5 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker.yml
@@ -1,13 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.docker
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_docker_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_docker:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_version}/docker/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_docker_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          key: ${_param:linux_system_repo_mcp_docker_key}
           architectures: amd64
-          key_id: 8D81803C0EBFCD88
-          key_server: keyserver.ubuntu.com
-          clean_file: true
\ No newline at end of file
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
index 2689869..ae38324 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
@@ -1,12 +1,13 @@
+# Deprecated since 2018.11
+# Will be removed in 2019.q2
+classes:
+- system.linux.system.repo.keystorage.docker_legacy
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_docker_legacy_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_docker_legacy:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_legacy_version}/docker-1.x/${_param:linux_system_codename}/ ubuntu-${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_docker_legacy_url}/${_param:linux_system_codename}/ ubuntu-${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_docker_legacy_key}
           architectures: amd64
-          key_id: 58118E89F3A912897C070ADBF76221572C52609D
-          key_server: keyserver.ubuntu.com
\ No newline at end of file
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml b/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
index 1db8267..2d6aa0c 100644
--- a/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
@@ -1,13 +1,19 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
 parameters:
   _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_elastic_2x_version: ${_param:apt_mk_version}
+    linux_system_repo_mcp_elastic_2x_version: ${_param:mcp_version}
   linux:
     system:
       repo:
         mcp_elastic_2x:
           source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_2x_version}/elasticsearch-2.x/${_param:linux_system_codename}/ stable main"
           architectures: amd64
-          key_id: D88E42B4
-          key_server: keyserver.ubuntu.com
+          clean_file: true
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+        mcp_elastic_curator_2x:
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_2x_version}/elasticsearch-curator/${_param:linux_system_codename}/ stable main"
+          architectures: amd64
           clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml b/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
index 453b3bc..c3c0ea1 100644
--- a/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
@@ -1,13 +1,19 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
 parameters:
   _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_elastic_5x_version: ${_param:apt_mk_version}
+    linux_system_repo_mcp_elastic_5x_version: ${_param:mcp_version}
   linux:
     system:
       repo:
         mcp_elastic_5x:
           source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_5x_version}/elasticsearch-5.x/${_param:linux_system_codename}/ stable main"
           architectures: amd64
-          key_id: D88E42B4
-          key_server: keyserver.ubuntu.com
+          clean_file: true
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+        mcp_elastic_curator_5x:
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_5x_version}/elasticsearch-curator-5/${_param:linux_system_codename}/ stable main"
+          architectures: amd64
           clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/es.yml b/linux/system/repo/mcp/apt_mirantis/elastic/es.yml
new file mode 100644
index 0000000..c0d75d8
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/es.yml
@@ -0,0 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_elasticsearch_url}/${_param:linux_system_codename} stable main"
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+          architectures: amd64
+          clean_file: true
+          pin:
+          - pin: 'release o=elastic'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/es_curator.yml b/linux/system/repo/mcp/apt_mirantis/elastic/es_curator.yml
new file mode 100644
index 0000000..4d1ce8c
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/es_curator.yml
@@ -0,0 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch_curator:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_elasticsearch_curator_url}/${_param:linux_system_codename} stable main"
+          architectures: amd64
+          clean_file: true
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+          pin:
+          - pin: 'release o=Elastic'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/init.yml b/linux/system/repo/mcp/apt_mirantis/elastic/init.yml
index a66b757..08f54fd 100644
--- a/linux/system/repo/mcp/apt_mirantis/elastic/init.yml
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/init.yml
@@ -1,3 +1,3 @@
 classes:
-- system.linux.system.repo.mcp.apt_mirantis.elastic.2x
-- system.linux.system.repo.mcp.apt_mirantis.elastic.5x
\ No newline at end of file
+- system.linux.system.repo.mcp.apt_mirantis.elastic.es
+- system.linux.system.repo.mcp.apt_mirantis.elastic.es_curator
diff --git a/linux/system/repo/mcp/apt_mirantis/extra.yml b/linux/system/repo/mcp/apt_mirantis/extra.yml
new file mode 100644
index 0000000..94a47dd
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_extra:
+          source: "deb ${_param:linux_system_repo_mcp_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/fluentd.yml b/linux/system/repo/mcp/apt_mirantis/fluentd.yml
index 58df85f..825b1c2 100644
--- a/linux/system/repo/mcp/apt_mirantis/fluentd.yml
+++ b/linux/system/repo/mcp/apt_mirantis/fluentd.yml
@@ -1,13 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.fluentd
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_fluentd_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_fluentd:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_fluentd_version}/td-agent/${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
-          architectures: amd64
-          key_id: 901F9177AB97ACBE
-          key_server: keyserver.ubuntu.com
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_fluentd_url}/${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
+          key: ${_param:linux_system_repo_mcp_fluentd_key}
+          architectures: ${_param:linux_system_architecture}
           clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
index 02f2fd9..1bb025f 100644
--- a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
+++ b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
@@ -1,14 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.glusterfs
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_glusterfs_version: ${_param:apt_mk_version}
-    linux_system_repo_mcp_glusterfs_version_number: "3.8"
   linux:
     system:
       repo:
         mcp_glusterfs:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_glusterfs_version}/glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          source: "deb ${_param:linux_system_repo_mcp_glusterfs_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_glusterfs_key}
           architectures: amd64
-          key_id: 3FE869A9
-          key_server: keyserver.ubuntu.com
           clean_file: true
+          pin:
+          - pin: "release o=LP-PPA-gluster-glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}"
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/grafana.yml b/linux/system/repo/mcp/apt_mirantis/grafana.yml
index 5bf9396..73f8d15 100644
--- a/linux/system/repo/mcp/apt_mirantis/grafana.yml
+++ b/linux/system/repo/mcp/apt_mirantis/grafana.yml
@@ -1,13 +1,14 @@
-parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_grafana_version: ${_param:apt_mk_version}
-  linux:
-    system:
-      repo:
-        mcp_grafana:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_grafana_version}/grafana/${_param:linux_system_codename}/ jessie main"
-          architectures: amd64
-          key_id: C2E73424D59097AB
-          key_server: keyserver.ubuntu.com
-          clean_file: true
+# DEPRECATED since 2018.8+ release
+# Will be removed in 2018q4
+#parameters:
+#  _param:
+#    linux_system_repo_mcp_grafana_version: ${_param:mcp_version}
+#  linux:
+#    system:
+#      repo:
+#        mcp_grafana:
+#          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_grafana_version}/grafana/${_param:linux_system_codename}/ jessie main"
+#          architectures: amd64
+#          key_id: C2E73424D59097AB
+#          key_server: keyserver.ubuntu.com
+#          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/ceph.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/ceph.yml
new file mode 100644
index 0000000..040019b
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/ceph.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_ceph_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_mcp_ceph_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: amd64
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/contrail.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/contrail.yml
new file mode 100644
index 0000000..bae4104
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/contrail.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_opencontrail_hotfix:
+          source: "deb ${_param:linux_system_repo_hotfix_opencontrail_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/contrail_ocata.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/contrail_ocata.yml
new file mode 100644
index 0000000..21bdcfa
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/contrail_ocata.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_opencontrail_ocata_hotfix:
+          source: "deb ${_param:linux_system_repo_hotfix_opencontrail_ocata_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/docker.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/docker.yml
new file mode 100644
index 0000000..ccf314f
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/docker.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.docker
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_docker_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_mcp_docker_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          key: ${_param:linux_system_repo_mcp_docker_key}
+          architectures: amd64
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es.yml
new file mode 100644
index 0000000..46913a0
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_hotfix_elasticsearch_url}/${_param:linux_system_codename} stable main"
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es_curator.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es_curator.yml
new file mode 100644
index 0000000..63d085f
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/es_curator.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch_curator_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_hotfix_elasticsearch_curator_url}/${_param:linux_system_codename} stable main"
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/init.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/init.yml
new file mode 100644
index 0000000..f17a85a
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/elastic/init.yml
@@ -0,0 +1,3 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.hotfix.elastic.es
+- system.linux.system.repo.mcp.apt_mirantis.hotfix.elastic.es_curator
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/extra.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/extra.yml
new file mode 100644
index 0000000..f617eeb
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_extra_hotfix:
+          source: "deb ${_param:linux_system_repo_hotfix_mcp_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/fluentd.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/fluentd.yml
new file mode 100644
index 0000000..b311896
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/fluentd.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.fluentd
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_fluentd_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_hotfix_fluentd_url}/${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
+          key: ${_param:linux_system_repo_mcp_fluentd_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/init.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/init.yml
new file mode 100644
index 0000000..e9e45e6
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/init.yml
@@ -0,0 +1,2 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.hotfix.ubuntu
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/kubernetes_extra.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/kubernetes_extra.yml
new file mode 100644
index 0000000..9b656e8
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/kubernetes_extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        kubernetes_extra_hotfix:
+          source: "deb ${_param:linux_system_repo_hotfix_mcp_kubernetes_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/openstack.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/openstack.yml
new file mode 100644
index 0000000..055cbf4
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/openstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mirantis_openstack_update:
+          source: "deb ${_param:linux_system_repo_hotfix_mirantis_openstack_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/percona.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/percona.yml
new file mode 100644
index 0000000..ef9c162
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/percona.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.percona
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_percona_hotfix:
+          source: "deb ${_param:linux_system_repo_hotfix_mcp_percona_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_percona_key}
+          architectures: amd64
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/salt-formulas.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/salt-formulas.yml
new file mode 100644
index 0000000..850eece
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/salt-formulas.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_salt_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_mcp_salt_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: amd64
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/saltstack.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/saltstack.yml
new file mode 100644
index 0000000..ec39056
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/saltstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.saltstack
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_saltstack_hotfix:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_mcp_saltstack_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_saltstack_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/hotfix/ubuntu.yml b/linux/system/repo/mcp/apt_mirantis/hotfix/ubuntu.yml
new file mode 100644
index 0000000..fb5ad73
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/hotfix/ubuntu.yml
@@ -0,0 +1,19 @@
+parameters:
+  linux:
+    system:
+      repo:
+#        ubuntu_hotfix:
+#          refresh_db: ${_param:linux_repo_refresh_db}
+#          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_ubuntu_url} ${_param:linux_system_codename} main restricted universe"
+#          architectures: ${_param:linux_system_architecture
+#          default: true
+#        ubuntu_updates_hotfix:
+#          refresh_db: ${_param:linux_repo_refresh_db}
+#          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_ubuntu_url} ${_param:linux_system_codename}-updates main restricted universe"
+#          architectures: ${_param:linux_system_architecture
+#          default: true
+        ubuntu_security_hotfix:
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] ${_param:linux_system_repo_hotfix_ubuntu_url} ${_param:linux_system_codename}-security main restricted universe"
+          architectures: ${_param:linux_system_architecture}
+          default: true
diff --git a/linux/system/repo/mcp/apt_mirantis/influxdb.yml b/linux/system/repo/mcp/apt_mirantis/influxdb.yml
index e6ebcb3..b86d461 100644
--- a/linux/system/repo/mcp/apt_mirantis/influxdb.yml
+++ b/linux/system/repo/mcp/apt_mirantis/influxdb.yml
@@ -1,13 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.influxdb
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_influxdb_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_influxdb:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_influxdb_version}/influxdb/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_influxdb_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          key: ${_param:linux_system_repo_mcp_influxdb_key}
           architectures: amd64
-          key_id: 684A14CF2582E0C5
-          key_server: keyserver.ubuntu.com
           clean_file: true
+          pin:
+          - pin: 'release l=InfluxDB'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/jenkins.yml b/linux/system/repo/mcp/apt_mirantis/jenkins.yml
new file mode 100644
index 0000000..d17d264
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/jenkins.yml
@@ -0,0 +1,18 @@
+# Deprecated since 2018.11
+# Will be removed in 2019.q2
+classes:
+- system.linux.system.repo.keystorage.jenkins
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_jenkins:
+          # FIXME PROD-20733
+          source: "deb [arch=amd64 trusted=yes] ${_param:linux_system_repo_mcp_jenkins_url}/${_param:linux_system_codename}/ binary main"
+          key: ${_param:linux_system_repo_mcp_jenkins_key}
+          architectures: amd64
+          clean_file: true
+          pin:
+          - pin: 'release o=jenkins.io'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/kibana/46.yml b/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
index 21ab878..4389579 100644
--- a/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
+++ b/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
@@ -1,13 +1,13 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
 parameters:
   _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_kibana_46_version: ${_param:apt_mk_version}
+    linux_system_repo_mcp_kibana_46_version: ${_param:mcp_version}
   linux:
     system:
       repo:
         mcp_kibana_46:
           source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_46_version}/kibana-4.6/${_param:linux_system_codename}/ stable main"
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
           architectures: amd64
-          key_id: D88E42B4
-          key_server: keyserver.ubuntu.com
           clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml b/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
index 3c3d128..60f6a39 100644
--- a/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
@@ -1,13 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_kibana_5x_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_kibana_5x:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_5x_version}/elasticsearch-5.x/${_param:linux_system_codename}/ stable main"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_elasticsearch_url}/${_param:linux_system_codename}/ stable main"
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
           architectures: amd64
-          key_id: D88E42B4
-          key_server: keyserver.ubuntu.com
           clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/kibana/init.yml b/linux/system/repo/mcp/apt_mirantis/kibana/init.yml
index daaf7ab..9a095d9 100644
--- a/linux/system/repo/mcp/apt_mirantis/kibana/init.yml
+++ b/linux/system/repo/mcp/apt_mirantis/kibana/init.yml
@@ -1,3 +1,2 @@
 classes:
-- system.linux.system.repo.mcp.apt_mirantis.kibana.46
-- system.linux.system.repo.mcp.apt_mirantis.kibana.5x
\ No newline at end of file
+- system.linux.system.repo.mcp.apt_mirantis.kibana.5x
diff --git a/linux/system/repo/mcp/apt_mirantis/kubernetes_extra.yml b/linux/system/repo/mcp/apt_mirantis/kubernetes_extra.yml
new file mode 100644
index 0000000..d6d0866
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/kubernetes_extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        kubernetes_extra:
+          source: "deb ${_param:linux_system_repo_mcp_kubernetes_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/maas.yml b/linux/system/repo/mcp/apt_mirantis/maas.yml
index 7ee3537..228eec4 100644
--- a/linux/system/repo/mcp/apt_mirantis/maas.yml
+++ b/linux/system/repo/mcp/apt_mirantis/maas.yml
@@ -1,13 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.maas
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_maas_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mcp_maas:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_maas_version}/maas/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_maas_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_maas_key}
           architectures: amd64
-          key_id: 684D4A1C
-          key_server: keyserver.ubuntu.com
           clean_file: true
+          pin:
+          - pin: 'release o=LP-PPA-maas-stable'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/mirantis_pining.yml b/linux/system/repo/mcp/apt_mirantis/mirantis_pining.yml
new file mode 100644
index 0000000..ceea50c
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/mirantis_pining.yml
@@ -0,0 +1,17 @@
+# This is global pin rule for all packages, provided by Mirantis.
+# Quoting official man of apt:
+# `Preferences are a strong power in the hands of a system administrator but they can become also their biggest nightmare if used without care!`
+# aka, don't change and don't add any new rules, w\o extra neccecity.
+parameters:
+  linux:
+    system:
+      apt:
+        preferences:
+          enabled: true
+          rules:
+            100:
+              enabled: true
+              name: 'Mirantis origin'
+              pin: 'release o=Mirantis'
+              priority: 1100
+              package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/openstack.yml b/linux/system/repo/mcp/apt_mirantis/openstack.yml
index 5d11e59..f9140a7 100644
--- a/linux/system/repo/mcp/apt_mirantis/openstack.yml
+++ b/linux/system/repo/mcp/apt_mirantis/openstack.yml
@@ -1,23 +1,34 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
 parameters:
-  _param:
-    apt_mk_version: stable
-    linux_system_repo_mk_openstack_version: ${_param:apt_mk_version}
   linux:
     system:
       repo:
         mirantis_openstack:
-          source: "deb [arch=amd64] http://apt.mirantis.com/${_param:linux_system_codename}/openstack/${_param:openstack_version} ${_param:linux_system_repo_mk_openstack_version} main"
-          architectures: amd64
-          key_url: "http://apt.mirantis.com/public.gpg"
-          pin:
-          - pin: 'release l=${_param:openstack_version}'
-            priority: 1100
-            package: '*'
-        mk_openstack:
-          source: "deb [arch=amd64] http://apt.mirantis.com/${_param:linux_system_codename}/ ${_param:linux_system_repo_mk_openstack_version} ${_param:openstack_version}"
-          architectures: amd64
-          key_url: "http://apt.mirantis.com/public.gpg"
-          pin:
-          - pin: 'release l=${_param:linux_system_repo_mk_openstack_version}'
-            priority: 1100
-            package: '*'
+          source: "deb ${_param:linux_system_repo_mirantis_openstack_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
+# DEPRECATED since 2018.10+ release.
+#parameters:
+#  _param:
+#    linux_system_repo_mk_openstack_version: ${_param:mcp_version}
+#  linux:
+#    system:
+#      repo:
+#        mirantis_openstack:
+#          source: "deb [arch=amd64] http://apt.mirantis.com/${_param:linux_system_codename}/openstack/${_param:openstack_version} ${_param:linux_system_repo_mk_openstack_version} main"
+#          architectures: amd64
+#          key: ${_param:linux_system_repo_apt_mirantis_key}
+#          pin:
+#          - pin: 'release l=${_param:openstack_version}'
+#            priority: 1100
+#            package: '*'
+#        mk_openstack:
+#          source: "deb [arch=amd64] http://apt.mirantis.com/${_param:linux_system_codename}/ ${_param:linux_system_repo_mk_openstack_version} ${_param:openstack_version}"
+#          architectures: amd64
+#          key: ${_param:linux_system_repo_apt_mirantis_key}
+#          pin:
+#          - pin: 'release l=${_param:linux_system_repo_mk_openstack_version}'
+#            priority: 1100
+#            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/percona.yml b/linux/system/repo/mcp/apt_mirantis/percona.yml
new file mode 100644
index 0000000..457cc43
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/percona.yml
@@ -0,0 +1,15 @@
+classes:
+- system.linux.system.repo.keystorage.percona
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_percona:
+          source: "deb ${_param:linux_system_repo_mcp_percona_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_percona_key}
+          architectures: amd64
+          clean_file: true
+          pin:
+          - pin: "release l=percona"
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/salt-formulas.yml b/linux/system/repo/mcp/apt_mirantis/salt-formulas.yml
new file mode 100644
index 0000000..df9fbeb
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/salt-formulas.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_salt:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_salt_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: amd64
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack.yml b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
new file mode 100644
index 0000000..2d4dd2c
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
@@ -0,0 +1,24 @@
+classes:
+- system.linux.system.repo.keystorage.saltstack
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_saltstack:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_saltstack_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_saltstack_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
+          pinning:
+            10:
+              enabled: true
+              pin: 'release o=SaltStack'
+              # WA for https://github.com/saltstack/salt/issues/49653
+              # Should be removed with new version\fix in upstream.
+              priority: 50
+              package: 'libsodium18'
+            20:
+              enabled: true
+              pin: 'release o=SaltStack'
+              priority: 1100
+              package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
index c47e177..3445cf6 100644
--- a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
@@ -1,13 +1,9 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis/saltstack
+
+classes:
+- system.linux.system.repo.keystorage.saltstack
+- system.linux.system.repo.mcp.apt_mirantis.saltstack
 parameters:
   _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
-  linux:
-    system:
-      repo:
-        mcp_saltstack:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-2016.3/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
-          architectures: amd64
-          key_id: 0E08A149DE57BFBE
-          key_server: keyserver.ubuntu.com
-          clean_file: true
+    linux_system_repo_mcp_saltstack_version_number: 2016.3
diff --git a/linux/system/repo/mcp/apt_mirantis/sensu.yml b/linux/system/repo/mcp/apt_mirantis/sensu.yml
index fb1045f..89e1501 100644
--- a/linux/system/repo/mcp/apt_mirantis/sensu.yml
+++ b/linux/system/repo/mcp/apt_mirantis/sensu.yml
@@ -1,7 +1,6 @@
 parameters:
   _param:
-    apt_mk_version: stable
-    linux_system_repo_mcp_sensu_version: ${_param:apt_mk_version}
+    linux_system_repo_mcp_sensu_version: ${_param:mcp_version}
   linux:
     system:
       repo:
diff --git a/linux/system/repo/mcp/apt_mirantis/ubuntu.yml b/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
index e254ed6..15dabab 100644
--- a/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
+++ b/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
@@ -1,24 +1,22 @@
+classes:
+- system.linux.system.repo.keystorage.ubuntu
 parameters:
-  _param:
-    apt_mk_version: stable
   linux:
     system:
       repo:
         ubuntu:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename} main restricted universe"
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename} main restricted universe"
+          key: ${_param:linux_system_repo_ubuntu_key}
           architectures: amd64
           default: true
-          key_id: 437D05B5
-          key_server: keyserver.ubuntu.com
         ubuntu_updates:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename}-updates main restricted universe"
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename}-updates main restricted universe"
           architectures: amd64
           default: true
-          key_id: 437D05B5
-          key_server: keyserver.ubuntu.com
         ubuntu_security:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename}-security main restricted universe"
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename}-security main restricted universe"
           architectures: amd64
           default: true
-          key_id: 437D05B5
-          key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/linux/system/repo/mcp/apt_mirantis/update/ceph.yml b/linux/system/repo/mcp/apt_mirantis/update/ceph.yml
new file mode 100644
index 0000000..db9b61f
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/ceph.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_ceph_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_update_mcp_ceph_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/contrail.yml b/linux/system/repo/mcp/apt_mirantis/update/contrail.yml
new file mode 100644
index 0000000..503b9ea
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/contrail.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_opencontrail_update:
+          source: "deb ${_param:linux_system_repo_update_opencontrail_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/contrail_ocata.yml b/linux/system/repo/mcp/apt_mirantis/update/contrail_ocata.yml
new file mode 100644
index 0000000..9134c04
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/contrail_ocata.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_opencontrail_ocata_update:
+          source: "deb ${_param:linux_system_repo_update_opencontrail_ocata_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/docker.yml b/linux/system/repo/mcp/apt_mirantis/update/docker.yml
new file mode 100644
index 0000000..fe619f1
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/docker.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.docker
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_docker_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_update_mcp_docker_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+          key: ${_param:linux_system_repo_mcp_docker_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/elastic/es.yml b/linux/system/repo/mcp/apt_mirantis/update/elastic/es.yml
new file mode 100644
index 0000000..e4e958c
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/elastic/es.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_update_elasticsearch_url}/${_param:linux_system_codename} stable main"
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/elastic/es_curator.yml b/linux/system/repo/mcp/apt_mirantis/update/elastic/es_curator.yml
new file mode 100644
index 0000000..51f3895
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/elastic/es_curator.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.elasticsearch
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_elasticsearch_curator_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_update_elasticsearch_curator_url}/${_param:linux_system_codename} stable main"
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
+          key: ${_param:linux_system_repo_mcp_elasticsearch_key}
diff --git a/linux/system/repo/mcp/apt_mirantis/update/elastic/init.yml b/linux/system/repo/mcp/apt_mirantis/update/elastic/init.yml
new file mode 100644
index 0000000..bbc2b99
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/elastic/init.yml
@@ -0,0 +1,3 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.update.elastic.es
+- system.linux.system.repo.mcp.apt_mirantis.update.elastic.es_curator
diff --git a/linux/system/repo/mcp/apt_mirantis/update/extra.yml b/linux/system/repo/mcp/apt_mirantis/update/extra.yml
new file mode 100644
index 0000000..0e7a9f6
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_extra_update:
+          source: "deb ${_param:linux_system_repo_update_mcp_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/fluentd.yml b/linux/system/repo/mcp/apt_mirantis/update/fluentd.yml
new file mode 100644
index 0000000..ca9e95f
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/fluentd.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.fluentd
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_fluentd_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_update_fluentd_url}/${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
+          key: ${_param:linux_system_repo_mcp_fluentd_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/init.yml b/linux/system/repo/mcp/apt_mirantis/update/init.yml
new file mode 100644
index 0000000..5897657
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/init.yml
@@ -0,0 +1,5 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.update.extra
+- system.linux.system.repo.mcp.apt_mirantis.update.percona
+- system.linux.system.repo.mcp.apt_mirantis.update.saltstack
+- system.linux.system.repo.mcp.apt_mirantis.update.ubuntu
diff --git a/linux/system/repo/mcp/apt_mirantis/update/kubernetes_extra.yml b/linux/system/repo/mcp/apt_mirantis/update/kubernetes_extra.yml
new file mode 100644
index 0000000..40af87c
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/kubernetes_extra.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        kubernetes_extra_update:
+          source: "deb ${_param:linux_system_repo_update_mcp_kubernetes_extra_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/openstack.yml b/linux/system/repo/mcp/apt_mirantis/update/openstack.yml
new file mode 100644
index 0000000..924f73f
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/openstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mirantis_openstack_update:
+          source: "deb ${_param:linux_system_repo_update_mirantis_openstack_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/percona.yml b/linux/system/repo/mcp/apt_mirantis/update/percona.yml
new file mode 100644
index 0000000..99efc0d
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/percona.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.percona
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_percona_update:
+          source: "deb ${_param:linux_system_repo_update_mcp_percona_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_percona_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/salt-formulas.yml b/linux/system/repo/mcp/apt_mirantis/update/salt-formulas.yml
new file mode 100644
index 0000000..27755df
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/salt-formulas.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.mirantis_com
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_salt_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_update_mcp_salt_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mirror_mirantis_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/saltstack.yml b/linux/system/repo/mcp/apt_mirantis/update/saltstack.yml
new file mode 100644
index 0000000..b1c80fb
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/saltstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.linux.system.repo.keystorage.saltstack
+parameters:
+  linux:
+    system:
+      repo:
+        mcp_saltstack_update:
+          source: "deb [arch=amd64] ${_param:linux_system_repo_update_mcp_saltstack_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          key: ${_param:linux_system_repo_mcp_saltstack_key}
+          architectures: ${_param:linux_system_architecture}
+          clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/update/ubuntu.yml b/linux/system/repo/mcp/apt_mirantis/update/ubuntu.yml
new file mode 100644
index 0000000..6635d9b
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/update/ubuntu.yml
@@ -0,0 +1,19 @@
+parameters:
+  linux:
+    system:
+      repo:
+#        ubuntu_update:
+#          refresh_db: ${_param:linux_repo_refresh_db}
+#          source: "deb [arch=amd64] ${_param:linux_system_repo_update_ubuntu_url} ${_param:linux_system_codename} main restricted universe"
+#          architectures: ${_param:linux_system_architecture}
+#          default: true
+#        ubuntu_updates_update:
+#          refresh_db: ${_param:linux_repo_refresh_db}
+#          source: "deb [arch=amd64] ${_param:linux_system_repo_update_ubuntu_url} ${_param:linux_system_codename}-updates main restricted universe"
+#          architectures: ${_param:linux_system_architecture}
+#          default: true
+        ubuntu_security_update:
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] ${_param:linux_system_repo_update_ubuntu_url} ${_param:linux_system_codename}-security main restricted universe"
+          architectures: ${_param:linux_system_architecture}
+          default: true