Merge "possibility of switching to generic ES-cluster if exist"
diff --git a/.releasenotes/notes/custom-path-proxy-7f587526696c0744.yaml b/.releasenotes/notes/custom-path-proxy-7f587526696c0744.yaml
new file mode 100644
index 0000000..6f16e07
--- /dev/null
+++ b/.releasenotes/notes/custom-path-proxy-7f587526696c0744.yaml
@@ -0,0 +1,30 @@
+---
+summary: >
+  Additional path for DevopsPortal nginx proxy service
+
+features:
+   - |
+     Possibility of defining additional path to service endpoints. Need to define 'custom_path' variable on system level metadata.
+     Result of endpoint looks like 'address:port/custom_path'. Main goal of this feature - auto loading special frame on DevopsPortal dashboard.
+
+     Example:
+     .. code-block:: yaml
+     parameters:
+       _param:
+         grafana_prometheus_ssl:
+           enabled: false
+       devops_portal:
+         config:
+           service:
+             stacklight-prometheus:
+               configure_proxy: false
+               enabled: true
+               endpoint:
+                 address: ${_param:grafana_prometheus_address}
+                 custom_path: alerts
+                 port: ${_param:grafana_prometheus_port}
+                 https: ${_param:grafana_prometheus_ssl:enabled}
+
+
+fixes:
+  - related bug: https://mirantis.jira.com/browse/PROD-15068 
diff --git a/aptly/server/mirror/ubuntu/trusty/ceph.yml b/aptly/server/mirror/ubuntu/trusty/ceph.yml
index 39a3ef5..b8e83c2 100644
--- a/aptly/server/mirror/ubuntu/trusty/ceph.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ceph.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     ceph_version: luminous
+    apt_mk_version: stable
   aptly:
     server:
       mirror:
@@ -14,4 +15,4 @@
           publisher:
             component: ceph
             distributions:
-              - ubuntu-trusty/nightly
+              - ubuntu-trusty/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
index 5da2e44..a2a848e 100644
--- a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
+++ b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
@@ -3,6 +3,6 @@
 - system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.oc311
 - system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.oc32
 - system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.oc323
-- system.aptly.server.mirror.ubuntu.xenial.mcp.apt_mk.mitaka
+- system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.mitaka
 - system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.extra
 - system.aptly.server.mirror.ubuntu.trusty.mcp.apt_mk.salt
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/main.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/main.yml
index aa505fa..8edff1f 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/main.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/multiverse.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/multiverse.yml
index ccd4cfb..1985b2d 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/restricted.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/restricted.yml
index 530557b..68c18be 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/restricted.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/universe.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/universe.yml
index 4b4795f..4bf2165 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/universe.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-backports/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/main.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/main.yml
index a06d4f8..744e9c7 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/main.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/multiverse.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/multiverse.yml
index 4f89630..cd79014 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/restricted.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/restricted.yml
index c297b08..c9c1966 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/restricted.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/universe.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/universe.yml
index 410e984..2049b68 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/universe.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-proposed/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/main.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/main.yml
index 2d7b247..1068a48 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/main.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/multiverse.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/multiverse.yml
index 84a18bb..db7b0ed 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/restricted.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/restricted.yml
index 09b75d9..8c93486 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/restricted.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/universe.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/universe.yml
index 1958e6c..bcc7da3 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/universe.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-security/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/main.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/main.yml
index 345ee1e..8e86162 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/main.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/multiverse.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/multiverse.yml
index c30bc22..1e6d543 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/restricted.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/restricted.yml
index 7bdb258..278376d 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/restricted.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/universe.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/universe.yml
index e03b302..632abbb 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/universe.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu/trusty-updates/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/trusty
\ No newline at end of file
+              - ubuntu/trusty-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ceph.yml b/aptly/server/mirror/ubuntu/xenial/ceph.yml
index 8972cf2..50afc3e 100644
--- a/aptly/server/mirror/ubuntu/xenial/ceph.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ceph.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     ceph_version: luminous
+    apt_mk_version: stable
   aptly:
     server:
       mirror:
@@ -14,4 +15,4 @@
           publisher:
             component: ceph
             distributions:
-              - ubuntu-xenial/nightly
+              - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/main.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/main.yml
index aee9740..9aeff43 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/main.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/multiverse.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/multiverse.yml
index c942e75..ffb9239 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/restricted.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/restricted.yml
index fa3cbe5..29f061e 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/restricted.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/universe.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/universe.yml
index 7024767..cdf9af1 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/universe.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-backports/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-backports
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/main.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/main.yml
index 85ede89..8763e94 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/main.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/multiverse.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/multiverse.yml
index 0e62412..6263456 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/restricted.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/restricted.yml
index e9e47fb..e6c1562 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/restricted.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/universe.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/universe.yml
index f1002eb..82c5bab 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/universe.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-proposed/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-proposed
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/main.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/main.yml
index f7ba6aa..24d55ff 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/main.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/multiverse.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/multiverse.yml
index 8c3e1a4..e503cff 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/restricted.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/restricted.yml
index beafb7f..3aa3b25 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/restricted.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/universe.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/universe.yml
index 50f8d3c..b657e2d 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/universe.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-security/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-security
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/main.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/main.yml
index 6070d7c..d84d4f0 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/main.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/main.yml
@@ -18,4 +18,4 @@
           publisher:
             component: main
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/multiverse.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/multiverse.yml
index 4c8a7a8..ebef47d 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/multiverse.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/multiverse.yml
@@ -18,4 +18,4 @@
           publisher:
             component: multiverse
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/restricted.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/restricted.yml
index dad8468..4431c1c 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/restricted.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/restricted.yml
@@ -18,4 +18,4 @@
           publisher:
             component: restricted
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-updates
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/universe.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/universe.yml
index 5d62267..e085074 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/universe.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu/xenial-updates/universe.yml
@@ -18,4 +18,4 @@
           publisher:
             component: universe
             distributions:
-              - ubuntu/xenial
\ No newline at end of file
+              - ubuntu/xenial-updates
\ No newline at end of file
diff --git a/ceph/common/cluster.yml b/ceph/common/cluster.yml
new file mode 100644
index 0000000..6f0b9c8
--- /dev/null
+++ b/ceph/common/cluster.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceph.common.cluster
diff --git a/ceph/common/single.yml b/ceph/common/single.yml
new file mode 100644
index 0000000..66b798c
--- /dev/null
+++ b/ceph/common/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceph.common.single
diff --git a/ceph/mgr/cluster.yml b/ceph/mgr/cluster.yml
new file mode 100644
index 0000000..5ba2d72
--- /dev/null
+++ b/ceph/mgr/cluster.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceph.mgr.cluster
diff --git a/ceph/mgr/single.yml b/ceph/mgr/single.yml
new file mode 100644
index 0000000..daf42de
--- /dev/null
+++ b/ceph/mgr/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceph.mgr.single
diff --git a/ceph/mon/cluster_init.yml b/ceph/mon/cluster_init.yml
index c56b574..0b36e17 100644
--- a/ceph/mon/cluster_init.yml
+++ b/ceph/mon/cluster_init.yml
@@ -1,3 +1,5 @@
+classes:
+- service.ceph.setup.single
 parameters:
   ceph:
     common:
diff --git a/devops_portal/service/elasticsearch.yml b/devops_portal/service/elasticsearch.yml
index 6fd9afa..ddf4a6c 100644
--- a/devops_portal/service/elasticsearch.yml
+++ b/devops_portal/service/elasticsearch.yml
@@ -5,6 +5,10 @@
         elasticsearch:
           configure_proxy: true
           resolve_hostname: true
+          proxy_connect_timeout: 300
+          proxy_send_timeout: 300
+          proxy_read_timeout: 300
+          send_timeout: 300
           endpoint:
             address: ${_param:elasticsearch_bind_host}
             port: ${_param:elasticsearch_http_bind_port}
diff --git a/devops_portal/service/grafana.yml b/devops_portal/service/grafana.yml
new file mode 100644
index 0000000..402604a
--- /dev/null
+++ b/devops_portal/service/grafana.yml
@@ -0,0 +1,14 @@
+parameters:
+  _param:
+    grafana_ssl:
+      enabled: false
+  devops_portal:
+    config:
+      service:
+        grafana:
+          configure_proxy: false
+          enabled: true
+          endpoint:
+            address: ${_param:grafana_address}
+            port: ${_param:grafana_port}
+            https: ${_param:grafana_ssl:enabled}
diff --git a/devops_portal/service/janitor_monkey.yml b/devops_portal/service/janitor_monkey.yml
index f16ae7c..8544645 100644
--- a/devops_portal/service/janitor_monkey.yml
+++ b/devops_portal/service/janitor_monkey.yml
@@ -5,6 +5,10 @@
         janitormonkey:
           configure_proxy: true
           resolve_hostname: true
+          proxy_connect_timeout: 300
+          proxy_send_timeout: 300
+          proxy_read_timeout: 300
+          send_timeout: 300
           endpoint:
             address: ${_param:janitor_monkey_bind_host}
             port: ${_param:janitor_monkey_bind_port}
diff --git a/devops_portal/service/jenkins.yml b/devops_portal/service/jenkins.yml
index 83d9d05..2a5dbc9 100644
--- a/devops_portal/service/jenkins.yml
+++ b/devops_portal/service/jenkins.yml
@@ -4,6 +4,10 @@
       service:
         jenkins:
           configure_proxy: true
+          proxy_connect_timeout: 300
+          proxy_send_timeout: 300
+          proxy_read_timeout: 300
+          send_timeout: 300
           endpoint:
             address: ${_param:haproxy_jenkins_bind_host}
             port: ${_param:haproxy_jenkins_bind_port}
diff --git a/devops_portal/service/pushkin.yml b/devops_portal/service/pushkin.yml
index 5cd172a..f2a240b 100644
--- a/devops_portal/service/pushkin.yml
+++ b/devops_portal/service/pushkin.yml
@@ -5,6 +5,10 @@
         pushkin:
           configure_proxy: true
           resolve_hostname: true
+          proxy_connect_timeout: 300
+          proxy_send_timeout: 300
+          proxy_read_timeout: 300
+          send_timeout: 300
           endpoint:
             address: ${_param:pushkin_bind_host}
             port: ${_param:pushkin_bind_port}
diff --git a/devops_portal/service/rundeck.yml b/devops_portal/service/rundeck.yml
index ad743cf..946e0c2 100644
--- a/devops_portal/service/rundeck.yml
+++ b/devops_portal/service/rundeck.yml
@@ -5,6 +5,10 @@
         rundeck:
           configure_proxy: true
           resolve_hostname: false
+          proxy_connect_timeout: 300
+          proxy_send_timeout: 300
+          proxy_read_timeout: 300
+          send_timeout: 300
           credentials:
             username: ${_param:rundeck_admin_username}
             password: ${_param:rundeck_admin_password}
diff --git a/devops_portal/service/security_monkey.yml b/devops_portal/service/security_monkey.yml
index da896a8..9fce180 100644
--- a/devops_portal/service/security_monkey.yml
+++ b/devops_portal/service/security_monkey.yml
@@ -5,6 +5,10 @@
         securitymonkey:
           configure_proxy: true
           resolve_hostname: true
+          proxy_connect_timeout: 600
+          proxy_send_timeout: 600
+          proxy_read_timeout: 600
+          send_timeout: 600
           endpoint:
             address: ${_param:security_monkey_bind_host}
             port: ${_param:security_monkey_bind_port}
diff --git a/devops_portal/service/stacklight-grafana.yml b/devops_portal/service/stacklight-grafana.yml
new file mode 100644
index 0000000..00f0990
--- /dev/null
+++ b/devops_portal/service/stacklight-grafana.yml
@@ -0,0 +1,14 @@
+parameters:
+  _param:
+    grafana_ssl:
+      enabled: false
+  devops_portal:
+    config:
+      service:
+        stacklight-grafana:
+          configure_proxy: false
+          enabled: true
+          endpoint:
+            address: ${_param:grafana_address}
+            port: ${_param:grafana_port}
+            https: ${_param:grafana_ssl:enabled}
diff --git a/devops_portal/service/stacklight-kibana.yml b/devops_portal/service/stacklight-kibana.yml
new file mode 100644
index 0000000..9fa86ae
--- /dev/null
+++ b/devops_portal/service/stacklight-kibana.yml
@@ -0,0 +1,11 @@
+parameters:
+  devops_portal:
+    config:
+      service:
+        stacklight-kibana:
+          configure_proxy: true
+          enabled: true
+          endpoint:
+            address: ${_param:haproxy_kibana_bind_host}
+            port: ${_param:haproxy_kibana_bind_port}
+            https: ${_param:haproxy_kibana_ssl:enabled}
diff --git a/devops_portal/service/stacklight-prometheus.yml b/devops_portal/service/stacklight-prometheus.yml
new file mode 100644
index 0000000..119c13f
--- /dev/null
+++ b/devops_portal/service/stacklight-prometheus.yml
@@ -0,0 +1,15 @@
+parameters:
+  _param:
+    grafana_prometheus_ssl:
+      enabled: false
+  devops_portal:
+    config:
+      service:
+        stacklight-prometheus:
+          configure_proxy: false
+          enabled: true
+          endpoint:
+            address: ${_param:grafana_prometheus_address}
+            custom_path: alerts
+            port: ${_param:stacklight_prometheus_port}
+            https: ${_param:grafana_prometheus_ssl:enabled}
diff --git a/docker/swarm/network/runbook.yml b/docker/swarm/network/runbook.yml
deleted file mode 100644
index 557b852..0000000
--- a/docker/swarm/network/runbook.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-parameters:
-  _param:
-    docker_runbook_subnet: 10.40.0.0/24
-  docker:
-    client:
-      network:
-        runbook:
-          subnet: ${_param:docker_runbook_subnet}
-          driver: overlay
-          attachable: true
diff --git a/docker/swarm/service/aptly.yml b/docker/swarm/service/aptly.yml
deleted file mode 100644
index 5f6de6e..0000000
--- a/docker/swarm/service/aptly.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-parameters:
-  _param:
-    docker_image_aptly:
-      api: tcpcloud/aptly-api
-      public: tcpcloud/aptly-public
-  docker:
-    client:
-      service:
-        aptly-api:
-          environment:
-            EMAIL_ADDRESS: ${_param:admin_email}
-          restart:
-            condition: any
-          image: ${_param:docker_image_aptly:api}
-          ports:
-            - 18084:8080
-          volume:
-            site:
-              type: bind
-              source: /srv/volumes/aptly
-              destination: /var/lib/aptly
-        aptly-public:
-          replicas: 3
-          restart:
-            condition: any
-          image: ${_param:docker_image_aptly:public}
-          ports:
-            - 18085:80
-          volume:
-            site:
-              type: bind
-              source: /srv/volumes/aptly/public
-              destination: /var/www/html
diff --git a/docker/swarm/service/artifactory.yml b/docker/swarm/service/artifactory.yml
deleted file mode 100644
index 36d9577..0000000
--- a/docker/swarm/service/artifactory.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-parameters:
-  docker:
-    client:
-      service:
-        artifactory:
-          environment:
-            MYSQL_HOST: ${_param:cluster_vip_address}
-            MYSQL_USERNAME: artifactory
-            MYSQL_PASSWORD: ${_param:mysql_artifactory_password}
-            MYSQL_DATABASE: artifactory
-          restart:
-            condition: any
-          image: ${_param:docker_image_repository:cicd}/artifactory
-          ports:
-            - 18082:8081
-          volume:
-            data:
-              type: bind
-              source: /srv/volumes/artifactory/data
-              destination: /var/opt/jfrog/artifactory/data
-            backup:
-              type: bind
-              source: /srv/volumes/artifactory/backup
-              destination: /var/opt/jfrog/artifactory/backup
-            etc:
-              type: bind
-              source: /srv/volumes/artifactory/etc
-              destination: /var/opt/jfrog/artifactory/etc
-            logs:
-              type: bind
-              source: /srv/volumes/artifactory/logs
-              destination: /var/opt/jfrog/artifactory/logs
-            keys:
-              type: bind
-              source: /srv/volumes/artifactory/keys
-              destination: /var/opt/jfrog/artifactory/access/etc/keys
diff --git a/docker/swarm/service/devops_portal.yml b/docker/swarm/service/devops_portal.yml
deleted file mode 100644
index 6a82aa5..0000000
--- a/docker/swarm/service/devops_portal.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-parameters:
-  _param:
-    docker_devops_portal_replicas: 1
-    docker_image_devops_portal: docker-sandbox.sandbox.mirantis.net/ikharin/oss/devops-portal:latest
-  docker:
-    client:
-      service:
-        devops-portal:
-          replicas: ${_param:docker_devops_portal_replicas}
-          image: ${_param:docker_image_devops_portal}
-          restart:
-            condition: any
-          ports:
-            - 18800:8000
-          volume:
-            nginx:
-              type: bind
-              source: /srv/volumes/devops_portal/nginx/
-              destination: /etc/nginx/config
-            config:
-              type: bind
-              source: /srv/volumes/devops_portal/config/
-              destination: /opt/devops-portal/config
diff --git a/docker/swarm/service/docker.yml b/docker/swarm/service/docker.yml
deleted file mode 100644
index d20b4db..0000000
--- a/docker/swarm/service/docker.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-parameters:
-  _param:
-    docker_image_registry: registry:2
-  docker:
-    client:
-      service:
-        registry:
-          replica: 3
-          environment:
-            REGISTRY_HTTP_SECRET: ${_param:docker_registry_http_secret}
-          restart:
-            condition: any
-          image: ${_param:docker_image_registry}
-          ports:
-            - 15000:5000
-          volume:
-            site:
-              type: bind
-              source: /srv/volumes/registry
-              destination: /var/lib/registry
diff --git a/docker/swarm/service/elasticsearch.yml b/docker/swarm/service/elasticsearch.yml
deleted file mode 100644
index 4d49494..0000000
--- a/docker/swarm/service/elasticsearch.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-parameters:
-  _param:
-    elasticsearch_replicas: 1
-    docker_image_oss_elasticsearch: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/elasticsearch:latest
-  docker:
-    client:
-      service:
-        elasticsearch:
-          replicas: ${_param:elasticsearch_replicas}
-          image: ${_param:docker_image_oss_elasticsearch}
-          restart:
-            condition: any
-          ports:
-            - ${_param:haproxy_elasticsearch_exposed_port}:${_param:haproxy_elasticsearch_bind_port}
-          volume:
-            elasticsearch:
-              type: bind
-              source: /srv/volumes/elasticsearch
-              destination: /usr/share/elasticsearch/data
diff --git a/docker/swarm/service/gerrit.yml b/docker/swarm/service/gerrit.yml
deleted file mode 100644
index 10e0629..0000000
--- a/docker/swarm/service/gerrit.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-parameters:
-  _param:
-    docker_image_gerrit: tcpcloud/gerrit:2.13.6
-    gerrit_ldap_server: ""
-    gerrit_ldap_bind_user: ""
-    gerrit_ldap_bind_password: ""
-    gerrit_ldap_account_base: ""
-    gerrit_ldap_group_base: ""
-
-  docker:
-    client:
-      service:
-        gerrit:
-          environment:
-            #GERRIT_INIT_ARGS: ""
-            DATABASE_TYPE: "mysql"
-            DB_PORT_3306_TCP_ADDR: ${_param:cluster_vip_address}
-            DB_ENV_MYSQL_USER: gerrit
-            DB_ENV_MYSQL_PASSWORD: ${_param:mysql_gerrit_password}
-            DB_ENV_MYSQL_DB: gerrit
-            AUTH_TYPE: ${_param:gerrit_auth_type}
-            LDAP_SERVER: ${_param:gerrit_ldap_server}
-            LDAP_ACCOUNTPATTERN: 'uid={username}'
-            LDAP_ACCOUNTBASE: ${_param:gerrit_ldap_account_base}
-            LDAP_GROUPBASE: ${_param:gerrit_ldap_group_base}
-            LDAP_USERNAME: ${_param:gerrit_ldap_bind_user}
-            LDAP_PASSWORD: ${_param:gerrit_ldap_bind_password}
-            WEBURL: ${_param:gerrit_public_host}
-            GERRIT_ADMIN_SSH_PUBLIC: ${_param:gerrit_admin_public_key}
-            GERRIT_ADMIN_PWD: ${_param:gerrit_admin_password}
-            GERRIT_ADMIN_EMAIL: ${_param:gerrit_admin_email}
-            CANLOADINIFRAME: "true"
-          restart:
-            condition: any
-          image: ${_param:docker_image_gerrit}
-          ports:
-            - 18083:8080
-            - 29417:29418
-          volume:
-            site:
-              type: bind
-              source: /srv/volumes/gerrit
-              destination: /var/gerrit/review_site
diff --git a/docker/swarm/service/jenkins.yml b/docker/swarm/service/jenkins.yml
deleted file mode 100644
index a39b7a4..0000000
--- a/docker/swarm/service/jenkins.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-parameters:
-  _param:
-    docker_image_jenkins: tcpcloud/jenkins:2.63
-  docker:
-    client:
-      service:
-        jenkins:
-          environment:
-            JAVA_OPTS: "-Djenkins.install.runSetupWizard=false -Dhudson.DNSMultiCast.disabled=true -Dhudson.udp=-1 -Dhudson.footerURL=https://www.mirantis.com"
-            JENKINS_NUM_EXECUTORS: 4
-          restart:
-            condition: any
-          image: ${_param:docker_image_jenkins}
-          ports:
-            - 18081:8080
-            - 50001:50000
-          volume:
-            home:
-              type: bind
-              source: /srv/volumes/jenkins
-              destination: /var/jenkins_home
-            cacerts:
-              type: bind
-              source: /etc/ssl/certs/java/cacerts
-              destination: /etc/ssl/certs/java/cacerts
diff --git a/docker/swarm/service/mysql.yml b/docker/swarm/service/mysql.yml
deleted file mode 100644
index f94cf4d..0000000
--- a/docker/swarm/service/mysql.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-parameters:
-  _param:
-    docker_image_mysql: mysql:5.6
-  docker:
-    client:
-      service:
-        mysql:
-          environment:
-            MYSQL_USER: gerrit
-            MYSQL_PASSWORD: ${_param:mysql_gerrit_password}
-            MYSQL_DATABASE: gerrit
-            MYSQL_ROOT_PASSWORD: ${_param:mysql_admin_password}
-          restart:
-            condition: any
-          image: "${_param:docker_image_mysql}"
-          ports:
-            - 13306:3306
-          volume:
-            data:
-              type: bind
-              source: /srv/volumes/mysql
-              destination: /var/lib/mysql
diff --git a/docker/swarm/service/openldap.yml b/docker/swarm/service/openldap.yml
deleted file mode 100644
index f7f12e2..0000000
--- a/docker/swarm/service/openldap.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-parameters:
-  _param:
-    docker_image_openldap: osixia/openldap:1.1.8
-  docker:
-    client:
-      service:
-        openldap:
-          restart:
-            condition: any
-          image: ${_param:docker_image_openldap}
-          hostname: ldap01.${_param:openldap_domain}
-          hosts:
-            ldap01:
-              name: ldap01.${_param:openldap_domain}
-              address: 127.0.0.1
-          environment:
-            HOSTNAME: ldap01.${_param:openldap_domain}
-            LDAP_ORGANISATION: "${_param:openldap_organisation}"
-            LDAP_DOMAIN: "${_param:openldap_domain}"
-            LDAP_ADMIN_PASSWORD: ${_param:openldap_admin_password}
-            LDAP_CONFIG_PASSWORD: ${_param:openldap_config_password}
-            LDAP_TLS: "false"
-          ports:
-            - 1389:389
-            - 1636:636
-          volume:
-            database:
-              type: bind
-              source: /srv/volumes/openldap/database
-              destination: /var/lib/ldap
-            config:
-              type: bind
-              source: /srv/volumes/openldap/config
-              destination: /etc/ldap/slapd.d
diff --git a/docker/swarm/service/phpldapadmin.yml b/docker/swarm/service/phpldapadmin.yml
deleted file mode 100644
index 72b109f..0000000
--- a/docker/swarm/service/phpldapadmin.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-parameters:
-  _param:
-    docker_image_phpldapadmin: tcpcloud/phpldapadmin:0.6.12
-  docker:
-    client:
-      service:
-        phpldapadmin:
-          restart:
-            condition: any
-          image: ${_param:docker_image_phpldapadmin}
-          hosts:
-            ldap:
-              name: ldap.${_param:openldap_domain}
-              address: ${_param:cluster_vip_address}
-          environment:
-            PHPLDAPADMIN_LDAP_HOSTS: "#PYTHON2BASH:[{'${_param:cluster_public_host}': [{'server': [{'tls': False}]},{'login': [{'bind_id': 'cn=admin,${_param:openldap_dn}'},{'bind_pass': '${_param:openldap_admin_password}'}]}]}]"
-            PHPLDAPADMIN_HTTPS: false
-            PHPLDAPADMIN_TRUST_PROXY_SSL: true
-            PHPLDAPADMIN_SERVER_ADMIN: ${_param:admin_email}
-            PHPLDAPADMIN_THEME: mirantis
-          ports:
-            - 18089:80
diff --git a/docker/swarm/service/pushkin.yml b/docker/swarm/service/pushkin.yml
deleted file mode 100644
index d01842d..0000000
--- a/docker/swarm/service/pushkin.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-parameters:
-  _param:
-    docker_pushkin_replicas: 1
-    docker_image_pushkin: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkin:latest
-    pushkin_db_password: pushkin
-    pushkin_db_user: pushkin
-    pushkin_db: pushkin
-  docker:
-    client:
-      service:
-        pushkin-backend:
-          environment:
-            POSTGRES_USER: ${_param:pushkin_db_user}
-            POSTGRES_PASSWORD: ${_param:pushkin_db_password}
-            POSTGRES_DB: ${_param:pushkin_db}
-            PUSHKINDBHOST: ${_param:haproxy_pushkin_db_bind_host}
-            PUSHKINELASTICHOST: ${_param:haproxy_elasticsearch_bind_host}
-          replicas: ${_param:docker_pushkin_replicas}
-          image: ${_param:docker_image_pushkin}
-          restart:
-            condition: any
-          ports:
-            - ${_param:haproxy_pushkin_exposed_port}:${_param:haproxy_pushkin_bind_port}
-          volume:
-            pushkin:
-              type: bind
-              source: /srv/volumes/pushkin/logs
-              destination: /var/log/pushkin
\ No newline at end of file
diff --git a/docker/swarm/service/pushkin_db.yml b/docker/swarm/service/pushkin_db.yml
deleted file mode 100644
index 9b81778..0000000
--- a/docker/swarm/service/pushkin_db.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-parameters:
-  _param:
-    docker_pushkin_db_replicas: 1
-    docker_image_pushkin_db: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkindb:latest
-    pushkin_db_password: pushkin
-    pushkin_db_user: pushkin
-    pushkin_db: pushkin
-  docker:
-    client:
-      service:
-        pushkin-db:
-          environment:
-            POSTGRES_USER: ${_param:pushkin_db_user}
-            POSTGRES_PASSWORD: ${_param:pushkin_db_password}
-            POSTGRES_DB: ${_param:pushkin_db}
-          replicas: ${_param:docker_pushkin_db_replicas}
-          image: ${_param:docker_image_pushkin_db}
-          restart:
-            condition: any
-          ports:
-            - ${_param:haproxy_pushkin_db_exposed_port}:${_param:haproxy_pushkin_db_bind_port}
-          volume:
-            pushkin:
-              type: bind
-              source: /srv/volumes/pushkin/data
-              destination: /var/lib/postgresql/data
-
diff --git a/docker/swarm/service/rundeck.yml b/docker/swarm/service/rundeck.yml
deleted file mode 100644
index cc871dd..0000000
--- a/docker/swarm/service/rundeck.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-parameters:
-  _param:
-    docker_rundeck_replicas: 1
-    docker_image_rundeck: docker-sandbox.sandbox.mirantis.net/ikharin/oss/rundeck:devel
-  docker:
-    client:
-      service:
-        rundeck:
-          environment:
-            SERVER_URL: "http://${_param:haproxy_rundeck_bind_host}:${_param:haproxy_rundeck_bind_port}"
-            RUNDECK_ADMIN_PASSWORD: ${_param:rundeck_admin_password}
-          replicas: ${_param:docker_rundeck_replicas}
-          image: ${_param:docker_image_rundeck}
-          restart:
-            condition: any
-          ports:
-            - 14440:4440
-          volume:
-            framework.properties:
-              type: bind
-              source: /srv/volumes/rundeck/config/framework.properties
-              destination: /etc/rundeck/framework.properties
-            tokens.properties:
-              type: bind
-              source: /srv/volumes/rundeck/config/tokens.properties
-              destination: /etc/rundeck/tokens.properties
-            rundeck:
-              type: bind
-              source: /srv/volumes/rundeck/rundeck
-              destination: /var/rundeck
-            mysql:
-              type: bind
-              source: /srv/volumes/rundeck/mysql
-              destination: /var/lib/mysql
-            log:
-              type: bind
-              source: /srv/volumes/rundeck/log
-              destination: /var/log/rundeck
-            logs:
-              type: bind
-              source: /srv/volumes/rundeck/logs
-              destination: /var/lib/rundeck/logs
-            plugins:
-              type: bind
-              source: /srv/volumes/rundeck/plugins
-              destination: /opt/rundeck-plugins
-            storage:
-              type: bind
-              source: /srv/volumes/rundeck/storage
-              destination: /var/lib/rundeck/var/storage
diff --git a/docker/swarm/service/visualizer.yml b/docker/swarm/service/visualizer.yml
deleted file mode 100644
index 8519363..0000000
--- a/docker/swarm/service/visualizer.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-parameters:
-  _param:
-    docker_image_visualizer: manomarks/visualizer
-  docker:
-    client:
-      service:
-        visualizer:
-          restart:
-            condition: any
-          image: ${_param:docker_image_visualizer}
-          constraint: "node.role==manager"
-          ports:
-            - 18090:8080
-          volume:
-            docker:
-              type: bind
-              source: /var/run/docker.sock
-              destination: /var/run/docker.sock
diff --git a/docker/swarm/stack/jenkins/master.yml b/docker/swarm/stack/jenkins/master.yml
index 5f8de05..e974dee 100644
--- a/docker/swarm/stack/jenkins/master.yml
+++ b/docker/swarm/stack/jenkins/master.yml
@@ -2,7 +2,7 @@
 - system.docker
 parameters:
   _param:
-    docker_image_jenkins: tcpcloud/jenkins:2.73
+    docker_image_jenkins: tcpcloud/jenkins:2.83
     jenkins_master_extra_opts: ""
     jenkins_master_executors_num: 4
     jenkins_master_max_concurent_requests: 40
diff --git a/docker/swarm/stack/pushkin.yml b/docker/swarm/stack/pushkin.yml
index 3df931b..f7ba935 100644
--- a/docker/swarm/stack/pushkin.yml
+++ b/docker/swarm/stack/pushkin.yml
@@ -15,7 +15,14 @@
     webhook_recipients: "recepient1@mail.com,recepient2@mail.com"
     webhook_login_id: 13
     webhook_application_id: 24
-    webhook_sfdc_username: your_sfdc_username
+    sfdc_auth_url: https://login.salesforce.com/services/oauth2/token
+    sfdc_username: user@example.net
+    sfdc_password: secret
+    sfdc_consumer_key: example_consumer_key
+    sfdc_consumer_secret: example_consumer_secret
+    sfdc_organization_id: example_organization_id
+    sfdc_sandbox_enabled: true
+    sfdc_case_fields: case_and_bool_value
   docker:
     client:
       stack:
@@ -33,7 +40,14 @@
             WEBHOOK_RECIPIENTS: ${_param:webhook_recipients}
             WEBHOOK_LOGIN_ID: ${_param:webhook_login_id}
             WEBHOOK_APPLICATION_ID: ${_param:webhook_application_id}
-            WEBHOOK_SFDC_USERNAME: ${_param:webhook_sfdc_username}
+            SFDC_AUTH_URL: ${_param:sfdc_auth_url}
+            SFDC_USERNAME: ${_param:sfdc_username}
+            SFDC_PASSWORD: ${_param:sfdc_password}
+            SFDC_CONSUMER_KEY: ${_param:sfdc_consumer_key}
+            SFDC_CONSUMER_SECRET: ${_param:sfdc_consumer_secret}
+            SFDC_ORGANIZATION_ID: ${_param:sfdc_organization_id}
+            SFDC_SANDBOX_ENABLED: ${_param:sfdc_sandbox_enabled}
+            SFDC_CASE_FIELDS: ${_param:sfdc_case_fields}
           service:
             pushkin-api:
               image: ${_param:docker_image_pushkin}
diff --git a/git/server/single.yml b/git/server/single.yml
new file mode 100644
index 0000000..788a5a8
--- /dev/null
+++ b/git/server/single.yml
@@ -0,0 +1,20 @@
+parameters:
+  _param:
+    git_server_host: git.${_param:cluster_domain}
+    git_server_port: 8088
+  git:
+    server:
+      enabled: True
+  nginx:
+    server:
+      enabled: True
+      site:
+        git_server:
+          enabled: True
+          name: git_server
+          type: git
+          root: /srv/git
+          client_max_body_size: 0
+          host:
+            name: ${_param:git_server_host}
+            port: ${_param:git_server_port}
\ No newline at end of file
diff --git a/haproxy/proxy/listen/stacklight/kibana.yml b/haproxy/proxy/listen/stacklight/kibana.yml
index e92e38a..e244fb1 100644
--- a/haproxy/proxy/listen/stacklight/kibana.yml
+++ b/haproxy/proxy/listen/stacklight/kibana.yml
@@ -1,4 +1,10 @@
 parameters:
+  _param:
+    haproxy_kibana_bind_host: ${_param:cluster_vip_address}
+    haproxy_kibana_bind_port: ${_param:cluster_kibana_port}
+    haproxy_kibana_exposed_port: ${_param:cluster_kibana_port}
+    haproxy_kibana_ssl:
+      enabled: false
   haproxy:
     proxy:
       listen:
@@ -10,19 +16,23 @@
             - prefer-last-server
             - dontlog-normal
           balance: roundrobin
+          http_request:
+            - action: "add-header X-Forwarded-Proto https"
+              condition: "if { ssl_fc }"
           binds:
-            - address: ${_param:cluster_vip_address}
-              port: 5601
+            - address: ${_param:haproxy_kibana_bind_host}
+              port: ${_param:haproxy_kibana_bind_port}
+              ssl: ${_param:haproxy_kibana_ssl}
           servers:
             - name: ${_param:cluster_node01_hostname}
               host: ${_param:cluster_node01_address}
-              port: 5601
+              port: ${_param:haproxy_kibana_exposed_port}
               params: 'check inter 10s fastinter 2s downinter 3s rise 3 fall 3'
             - name: ${_param:cluster_node02_hostname}
               host: ${_param:cluster_node02_address}
-              port: 5601
+              port: ${_param:haproxy_kibana_exposed_port}
               params: 'check inter 10s fastinter 2s downinter 3s rise 3 fall 3'
             - name: ${_param:cluster_node03_hostname}
               host: ${_param:cluster_node03_address}
-              port: 5601
+              port: ${_param:haproxy_kibana_exposed_port}
               params: 'check inter 10s fastinter 2s downinter 3s rise 3 fall 3'
diff --git a/jenkins/client/job/deploy/lab/deploy.yml b/jenkins/client/job/deploy/lab/deploy.yml
index 0dc136c..75c3776 100644
--- a/jenkins/client/job/deploy/lab/deploy.yml
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -148,7 +148,7 @@
               TEST_TEMPEST_IMAGE:
                 type: string
                 description: "Tempest docker image"
-                default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
+                default: "docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest"
               TEST_TEMPEST_TARGET:
                 type: string
                 description: "Node to run tests"
diff --git a/jenkins/client/job/deploy/rollout.yml b/jenkins/client/job/deploy/rollout.yml
index 06aab0a..4854845 100644
--- a/jenkins/client/job/deploy/rollout.yml
+++ b/jenkins/client/job/deploy/rollout.yml
@@ -55,7 +55,7 @@
             TEST_TEMPEST_IMAGE:
               type: string
               description: "Tempest docker image"
-              default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
+              default: "docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest"
             TEST_TEMPEST_TARGET:
               type: string
               description: "Node to run tests"
diff --git a/jenkins/client/job/deploy/test.yml b/jenkins/client/job/deploy/test.yml
index 0f9b202..b965a52 100644
--- a/jenkins/client/job/deploy/test.yml
+++ b/jenkins/client/job/deploy/test.yml
@@ -36,7 +36,7 @@
             TEST_TEMPEST_IMAGE:
               type: string
               description: "Tempest docker image"
-              default: "obutenko/rally_tempest_docker"
+              default: "docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest"
             TEST_TEMPEST_TARGET:
               type: string
               description: "Node to run tests. use FQDN for ctl01 e.g. ctl01.deploy-heat-os_ha_contrail-17.bud-mk.local"
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index ffcebd7..34b7460 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -259,3 +259,40 @@
               BRANCHES:
                 type: string
                 default: "{{branches}}"
+        git-mirror-2way:
+          name: git-mirror-2way-{{name}}
+          jobs:
+            - name: salt-formulas-scripts
+              branches: master
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              credentials: "gerrit"
+              script: git-mirror-2way-pipeline.groovy
+              github:
+                url: "https://github.com/salt-formulas/{{name}}"
+            trigger:
+              github:
+              pollscm:
+                spec: ${_param:jenkins_pollscm_spec}
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+              TARGET_URL:
+                type: string
+                default: "https://github.com/salt-formulas/{{name}}.git"
+              CREDENTIALS_ID:
+                type: string
+                default: "gerrit"
+              BRANCHES:
+                type: string
+                default: "{{branches}}"
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index 7be935b..9ee63c1 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
   jenkins:
     client:
       view:
@@ -22,11 +24,11 @@
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
             credentials: "gerrit"
             script: validate-cloud.groovy
-
           param:
             SALT_MASTER_URL:
               type: string
-              default: ""
+              default: "${_param:jenkins_salt_api_url}"
+              description: Full Salt API address [e.g. https://10.10.10.2:6969]
             SALT_MASTER_CREDENTIALS:
               type: string
               default: "salt"
diff --git a/linux/system/repo_local/mcp/ceph.yml b/linux/system/repo_local/mcp/ceph.yml
new file mode 100644
index 0000000..89308ad
--- /dev/null
+++ b/linux/system/repo_local/mcp/ceph.yml
@@ -0,0 +1,9 @@
+parameters:
+  linux:
+    system:
+      repo:
+        ceph:
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} ceph"
+          architectures: amd64
+          key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index 54db248..032ffbf 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -14,7 +14,6 @@
     neutron_enable_vlan_aware_vms: False
   neutron:
     server:
-      plugin: ml2
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
       l3_ha: ${_param:neutron_l3_ha}
       dvr: ${_param:neutron_control_dvr}
diff --git a/neutron/control/openvswitch/single.yml b/neutron/control/openvswitch/single.yml
index bdc050d..009c116 100644
--- a/neutron/control/openvswitch/single.yml
+++ b/neutron/control/openvswitch/single.yml
@@ -12,7 +12,6 @@
     neutron_enable_vlan_aware_vms: False
   neutron:
     server:
-      plugin: ml2
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
       l3_ha: ${_param:neutron_l3_ha}
       dvr: ${_param:neutron_control_dvr}
diff --git a/openssh/server/team/all.yml b/openssh/server/team/all.yml
index 1fea51d..5106c73 100644
--- a/openssh/server/team/all.yml
+++ b/openssh/server/team/all.yml
@@ -10,6 +10,7 @@
 #- system.openssh.server.team.support
 - system.openssh.server.team.stacklight
 - system.openssh.server.team.networking
+- system.openssh.server.team.security
 - system.openssh.server.team.oss_team
 - system.openssh.server.team.services_qa
 - system.openssh.server.team.qa_scale
diff --git a/openssh/server/team/members/ahecko.yml b/openssh/server/team/members/ahecko.yml
new file mode 100644
index 0000000..9b5c6d8
--- /dev/null
+++ b/openssh/server/team/members/ahecko.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        ahecko:
+          enabled: true
+          name: ahecko
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Adam Hecko
+          home: /home/ahecko
+          email: ahecko@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        ahecko:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGGRD/zStceB/CAJu8bnsWs9VPWY8W1F6fz2AvX2BiyEXCE2W4uMY11In+qHQtIaWeyWVR/XmoCw0mZxk7emTz91Y1FioinEgumkhpNPLY0fPdDHzwu3atCjAc7B3ZCCXusiUC6k99aCa9YXIZ0/0/75kqilRmIcxGeneL9S2+iuFn/HSpNR7IZN03AEzWgIfXEhB4lyNs9n3RHf+XXy2wxAKkcKpMyocEO9gc3uLY5OdUhGFHRKhEZwgz3K6ysDOCIOTkiiJ8KXMM07FIDLjs5pjUjnVkZ1kWq+virLMbhhyCbMR8zrPvWMjP5oYGm9U9aEeUMA5iMCa7K+qs2AM3 adamheczko@mirantis
+          user: ${linux:system:user:ahecko}
diff --git a/openssh/server/team/members/cade.yml b/openssh/server/team/members/cade.yml
index 6b14ff3..4393a67 100644
--- a/openssh/server/team/members/cade.yml
+++ b/openssh/server/team/members/cade.yml
@@ -3,7 +3,7 @@
     system:
       user:
         cade:
-          enabled: true
+          enabled: false
           name: cade
           sudo: ${_param:linux_system_user_sudo}
           full_name: Cade Ekblad-Frank
diff --git a/openssh/server/team/members/daniillapshin.yml b/openssh/server/team/members/daniillapshin.yml
index 0098977..4d9cd34 100644
--- a/openssh/server/team/members/daniillapshin.yml
+++ b/openssh/server/team/members/daniillapshin.yml
@@ -3,7 +3,7 @@
     system:
       user:
         dlapshin:
-          enabled: true
+          enabled: false
           name: dlapshin
           sudo: ${_param:linux_system_user_sudo}
           full_name: Daniil Lapshin
diff --git a/openssh/server/team/members/ecantwell.yml b/openssh/server/team/members/ecantwell.yml
index 309c40b..9310d82 100644
--- a/openssh/server/team/members/ecantwell.yml
+++ b/openssh/server/team/members/ecantwell.yml
@@ -3,7 +3,7 @@
     system:
       user:
         ecantwell:
-          enabled: true
+          enabled: false
           name: ecantwell
           sudo: ${_param:linux_system_user_sudo}
           full_name: Erick Cantwell
diff --git a/openssh/server/team/members/michaelpetersen.yml b/openssh/server/team/members/michaelpetersen.yml
index 4ac6ee6..9602569 100644
--- a/openssh/server/team/members/michaelpetersen.yml
+++ b/openssh/server/team/members/michaelpetersen.yml
@@ -3,7 +3,7 @@
     system:
       user:
         mpetersen:
-          enabled: true
+          enabled: false
           name: mpetersen
           sudo: ${_param:linux_system_user_sudo}
           full_name: Michael Petersen
diff --git a/openssh/server/team/members/mwilson.yml b/openssh/server/team/members/mwilson.yml
index 720edf3..03520f4 100644
--- a/openssh/server/team/members/mwilson.yml
+++ b/openssh/server/team/members/mwilson.yml
@@ -3,7 +3,7 @@
     system:
       user:
         mwilson:
-          enabled: true
+          enabled: false
           name: mwilson
           sudo: ${_param:linux_system_user_sudo}
           full_name: Mike Wilson
diff --git a/openssh/server/team/members/pmathews.yml b/openssh/server/team/members/pmathews.yml
index 91904a7..a21df9f 100644
--- a/openssh/server/team/members/pmathews.yml
+++ b/openssh/server/team/members/pmathews.yml
@@ -3,7 +3,7 @@
     system:
       user:
         pmathews:
-          enabled: true
+          enabled: false
           name: pmathews
           sudo: ${_param:linux_system_user_sudo}
           full_name: Paul Mathews
diff --git a/openssh/server/team/members/scottmachtmes.yml b/openssh/server/team/members/scottmachtmes.yml
index 369db34..4e3db22 100644
--- a/openssh/server/team/members/scottmachtmes.yml
+++ b/openssh/server/team/members/scottmachtmes.yml
@@ -3,7 +3,7 @@
     system:
       user:
         smachtmes:
-          enabled: true
+          enabled: false
           name: smachtmes
           sudo: ${_param:linux_system_user_sudo}
           full_name: Scott Machtmes
diff --git a/openssh/server/team/members/zahedkhurasani.yml b/openssh/server/team/members/zahedkhurasani.yml
index f5411fd..1b5db7b 100644
--- a/openssh/server/team/members/zahedkhurasani.yml
+++ b/openssh/server/team/members/zahedkhurasani.yml
@@ -3,7 +3,7 @@
     system:
       user:
         zkhurasani:
-          enabled: true
+          enabled: false
           name: zkhurasani
           sudo: ${_param:linux_system_user_sudo}
           full_name: Zahed Khurasani
diff --git a/openssh/server/team/security.yml b/openssh/server/team/security.yml
new file mode 100644
index 0000000..e165ce1
--- /dev/null
+++ b/openssh/server/team/security.yml
@@ -0,0 +1,7 @@
+classes:
+- system.linux.system.sudo
+- system.openssh.server.team.members.ahecko
+- system.openssh.server.team.members.pmichalec
+parameters:
+  _param:
+    linux_system_user_sudo: true
diff --git a/postgresql/client/sfdc.yml b/postgresql/client/sfdc.yml
new file mode 100644
index 0000000..bafd9c9
--- /dev/null
+++ b/postgresql/client/sfdc.yml
@@ -0,0 +1,30 @@
+classes:
+  - system.postgresql.client
+parameters:
+  _param:
+    sfdc_db_host: ${_param:haproxy_postgresql_bind_host}
+    sfdc_db_user: sfdc
+    sfdc_db_user_password: sfdc
+    sfdc_login_id: 14
+    sfdc_application_id: 4
+  postgresql:
+    client:
+      server:
+        server01:
+          database:
+            sfdc:
+              enabled: true
+              encoding: 'UTF8'
+              locale: 'en_US'
+              users:
+              - name: ${_param:sfdc_db_user}
+                password: ${_param:sfdc_db_user_password}
+                host: ${_param:sfdc_db_host}
+                createdb: true
+                rights: all privileges
+              init:
+                maintenance_db: pushkin
+                force: true
+                queries:
+                - INSERT INTO login VALUES (${_param:sfdc_login_id}, ${_param:sfdc_application_id}) ON CONFLICT (id) DO UPDATE SET id = excluded.id;
+                - INSERT INTO device VALUES (${_param:sfdc_application_id}, ${_param:sfdc_login_id}, 42, 'salesforce_service', NULL, 1, NULL) ON CONFLICT (id) DO UPDATE SET id = excluded.id;
diff --git a/reclass/storage/system/ceph_mon_cluster.yml b/reclass/storage/system/ceph_mon_cluster.yml
index f795602..d54d767 100644
--- a/reclass/storage/system/ceph_mon_cluster.yml
+++ b/reclass/storage/system/ceph_mon_cluster.yml
@@ -12,7 +12,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.ceph.mon
-          - system.ceph.mon.cluster_init
+          - cluster.${_param:cluster_name}.ceph.mon_init
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: ${_param:ceph_mon_system_codename}