Merge "Added aptly docker image build job"
diff --git a/devops_portal/service/elasticsearch.yml b/devops_portal/service/elasticsearch.yml
new file mode 100644
index 0000000..b945af3
--- /dev/null
+++ b/devops_portal/service/elasticsearch.yml
@@ -0,0 +1,10 @@
+parameters:
+  devops_portal:
+    config:
+      service:
+        elasticsearch:
+          configure_proxy: true
+          endpoint:
+            address: ${_param:haproxy_elasticsearch_bind_host}
+            port: ${_param:haproxy_elasticsearch_bind_port}
+            https: ${_param:haproxy_elasticsearch_ssl:enabled}
diff --git a/docker/swarm/service/elasticsearch.yml b/docker/swarm/service/elasticsearch.yml
new file mode 100644
index 0000000..02dea57
--- /dev/null
+++ b/docker/swarm/service/elasticsearch.yml
@@ -0,0 +1,19 @@
+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: /var/lib/elasticsearch/data
diff --git a/docker/swarm/service/pushkin.yml b/docker/swarm/service/pushkin.yml
new file mode 100644
index 0000000..e4fe424
--- /dev/null
+++ b/docker/swarm/service/pushkin.yml
@@ -0,0 +1,28 @@
+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/logs
\ No newline at end of file
diff --git a/docker/swarm/service/pushkin_db.yml b/docker/swarm/service/pushkin_db.yml
new file mode 100644
index 0000000..9b81778
--- /dev/null
+++ b/docker/swarm/service/pushkin_db.yml
@@ -0,0 +1,27 @@
+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/glusterfs/client/volume/elasticsearch.yml b/glusterfs/client/volume/elasticsearch.yml
new file mode 100644
index 0000000..f5ad7ae
--- /dev/null
+++ b/glusterfs/client/volume/elasticsearch.yml
@@ -0,0 +1,10 @@
+parameters:
+  _param:
+    elasticsearch_glusterfs_service_host: ${_param:glusterfs_service_host}
+  glusterfs:
+    client:
+      volumes:
+        elasticsearch:
+          path: /srv/volumes/elasticsearch
+          server: ${_param:elasticsearch_glusterfs_service_host}
+          opts: 'defaults'
diff --git a/glusterfs/client/volume/pushkin.yml b/glusterfs/client/volume/pushkin.yml
new file mode 100644
index 0000000..1853863
--- /dev/null
+++ b/glusterfs/client/volume/pushkin.yml
@@ -0,0 +1,10 @@
+parameters:
+  _param:
+    pushkin_glusterfs_service_host: ${_param:glusterfs_service_host}
+  glusterfs:
+    client:
+      volumes:
+        pushkin:
+          path: /srv/volumes/pushkin
+          server: ${_param:pushkin_glusterfs_service_host}
+          opts: 'defaults'
diff --git a/glusterfs/server/volume/elasticsearch.yml b/glusterfs/server/volume/elasticsearch.yml
new file mode 100644
index 0000000..73f35c1
--- /dev/null
+++ b/glusterfs/server/volume/elasticsearch.yml
@@ -0,0 +1,17 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        elasticsearch:
+          storage: /srv/glusterfs/elasticsearch
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/elasticsearch
+            - ${_param:cluster_node02_address}:/srv/glusterfs/elasticsearch
+            - ${_param:cluster_node03_address}:/srv/glusterfs/elasticsearch
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
diff --git a/glusterfs/server/volume/pushkin.yml b/glusterfs/server/volume/pushkin.yml
new file mode 100644
index 0000000..52d393e
--- /dev/null
+++ b/glusterfs/server/volume/pushkin.yml
@@ -0,0 +1,17 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        pushkin:
+          storage: /srv/glusterfs/pushkin
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/pushkin
+            - ${_param:cluster_node02_address}:/srv/glusterfs/pushkin
+            - ${_param:cluster_node03_address}:/srv/glusterfs/pushkin
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
diff --git a/haproxy/proxy/listen/oss/elasticsearch.yml b/haproxy/proxy/listen/oss/elasticsearch.yml
new file mode 100644
index 0000000..2f5d1ee
--- /dev/null
+++ b/haproxy/proxy/listen/oss/elasticsearch.yml
@@ -0,0 +1,38 @@
+parameters:
+  _param:
+    haproxy_elasticsearch_bind_host: ${_param:haproxy_bind_address}
+    haproxy_elasticsearch_bind_port: 9200
+    haproxy_elasticsearch_exposed_port: 19200
+    haproxy_elasticsearch_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        elasticsearch:
+          mode: http
+          options:
+            - forwardfor
+            - httpchk
+            - httpclose
+            - httplog
+          balance: source
+          http_request:
+            - action: "add-header X-Forwarded-Proto https"
+              condition: "if { ssl_fc }"
+          binds:
+            - address: ${_param:haproxy_elasticsearch_bind_host}
+              port: ${_param:haproxy_elasticsearch_bind_port}
+              ssl: ${_param:haproxy_elasticsearch_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: backup check
diff --git a/haproxy/proxy/listen/oss/pushkin.yml b/haproxy/proxy/listen/oss/pushkin.yml
new file mode 100644
index 0000000..458a226
--- /dev/null
+++ b/haproxy/proxy/listen/oss/pushkin.yml
@@ -0,0 +1,37 @@
+parameters:
+  _param:
+    haproxy_pushkin_bind_host: ${_param:haproxy_bind_address}
+    haproxy_pushkin_bind_port: 8887
+    haproxy_pushkin_exposed_port: 18887
+    haproxy_pushkin_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        pushkin:
+          mode: http
+          options:
+          - httpchk get /apps
+          balance: source
+          http_request:
+            - action: "add-header X-Forwarded-Proto https"
+              condition: "if { ssl_fc }"
+          sticks:
+          - http-check expect ! rstatus ^5
+          binds:
+            - address: ${_param:haproxy_pushkin_bind_host}
+              port: ${_param:haproxy_pushkin_bind_port}
+              ssl: ${_param:haproxy_pushkin_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: backup check
diff --git a/haproxy/proxy/listen/oss/pushkin_db.yml b/haproxy/proxy/listen/oss/pushkin_db.yml
new file mode 100644
index 0000000..74b15a2
--- /dev/null
+++ b/haproxy/proxy/listen/oss/pushkin_db.yml
@@ -0,0 +1,32 @@
+parameters:
+  _param:
+    haproxy_pushkin_db_bind_host: ${_param:haproxy_bind_address}
+    haproxy_pushkin_db_bind_port: 5432
+    haproxy_pushkin_db_exposed_port: 15432
+    haproxy_pushkin_db_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        pushkin_db:
+          mode: tcp
+          balance: source
+          options:
+          - pgsql-check user ${_param:pushkin_db_user}
+          binds:
+            - address: ${_param:haproxy_pushkin_db_bind_host}
+              port: ${_param:haproxy_pushkin_db_bind_port}
+              ssl: ${_param:haproxy_pushkin_db_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: backup check
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/mk/init.yml
index 0bcfbc0..0fc26f7 100644
--- a/jenkins/client/job/deploy/lab/mk/init.yml
+++ b/jenkins/client/job/deploy/lab/mk/init.yml
@@ -59,6 +59,7 @@
               HEAT_STACK_DELETE:
                 type: boolean
                 default: 'true'
+                description: "Don't enable it if you need to use the lab after"
               HEAT_STACK_REUSE:
                 type: boolean
                 default: 'false'
diff --git a/openssh/server/team/mcp_qa.yml b/openssh/server/team/mcp_qa.yml
index 766044d..582882f 100644
--- a/openssh/server/team/mcp_qa.yml
+++ b/openssh/server/team/mcp_qa.yml
@@ -119,6 +119,20 @@
           full_name: Vitaly Gusev
           home: /home/vgusev
           email: vgusev@mirantis.com
+        rkhozinov:
+          enabled: true
+          name: rkhozinov
+          sudo: true
+          full_name: Ruslan Khozinov
+          home: /home/rkhozinov
+          email: rkhozinov@mirantis.com
+        vnaumov:
+          enabled: true
+          name: vnaumov
+          sudo: true
+          full_name: Vlad Naumov
+          home: /home/vnaumov
+          email: vnaumov@mirantis.com
       group:
         libvirtd:
           enabled: true
@@ -222,6 +236,16 @@
           public_keys:
           - ${public_keys:vgusev}
           user: ${linux:system:user:vgusev}
+        rkhozinov:
+          enable: true
+          public_keys:
+          - ${public_keys:rkhozinov}
+          user: ${linux:system:user:rkhozinov}
+        vnaumov:
+          enable: true
+          public_keys:
+          - ${public_keys:vnaumov}
+          user: ${linux:system:user:vnaumov}
   public_keys:
     ddmitriev:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuD4wJ8hzkchQ0pfgdwWukQyps1xYRfHOsjosmDu/mmgaXVud5mnpwb2q35E2YYTox2mx+ulJqyS+099gz6MPg4P8D5qdMuRbAsJqbceLaaIGQhdT8qgSo7ESrl5pwvYnfWzKLKF0z5s7nrW0nvArC40zhV9o9XpvzzzSFByepWfkwA8ReldGUYVvTKp8YXaCrqEdMZrU42adPM2nl+fYBbGF+h4/Ka247aVjPeER0blV3znFXbv2Kf38G+i/TEGaktgpBdtGGDi1tX2loMypmTJeqZRJnM0Eoly0BnynB7CSxn11eoIXBUe1mVYNqmQd1hw6uh59iymhK5j939v9J ddmitriev@dis_xcom
@@ -261,3 +285,7 @@
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3dCFNCYVxHQQD+/X1JJ9auAzpj15AkEl6yO4lJ1XL43ljxJbzWXXl3RN9vAjiBE1tvxEfuPEIxF7kO2sc1xPKtkw40RIwXrDIGfjlVCaBLtnxCPnCQX349UMSJl/AXpkHqKGVeAW+AO4zbeI8XnS9aDNMuX6ncgrLRMxWCxETL3J/IIE1LZ5v0QvyQBHuJc5jbyODVb4onff296SbjzYm96elJZcRFo4FzFaIcKtis+Sm4+6OAGCNDIXxfB9e5TK579x+L+ci/W1k83Fcz6NpQU/OM1R1CZVMap/Xet424aRMFPmA8sTF4hdYvWd6adBihco2isaW51b1Gkc+K9N9wELiEBMpdKQtqkPOvm98UhoRk7Wp+8+zSamj1uEs/7m6VCGFebq8V3xqTexWH2dCUznxZ5+KS6WLBh+3f4P6wG8VuWfgFjIUf7jjYKjidBXfSXFDxRkhf/LV8V0jLv+Ma1mjKBUX+rk7IFxm0X/PkjqNhVFlg3rH4Wre0+9WdsTCyzWS0HEaTxIKdPtwwULLEiwClO1LLebdlVjx9yhen0czXxMAHONbZeTvxN8ULfei+b7c07oYm16T8T9JAdiWn5nGxiT8TAUrCPBJMpbE4xQJLztYhAbMpfhFSdkKfTotFxTK9AKpTg4TZFY0NYOktFtV2R9ZnzP7hHZDSIg2Bw== rpromyshlennikov@mirantis.com
     vgusev:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrCyaZjs8hiwx38LfpeQ2z9n9ptwQ7gFrhq2z5sK9q/LQMCubbnp5xhyF0SMY1jmQUewBOKXhnq3QSX+DmtNsnhitnZBw2BE5PBXllCBWMMiWULfAYvB0of728Q3EEjrtyfHkt7o2E+CvreVJcVI4kBwjKh5WpVBZ8mmkW/sexLGMuYu0bUWjCddu6ZlhUa+y14VZKOKp44auemza1VL/UzqOVZkBAfR2gPV2pBG3Im+SlnOlDRxKPEXQbsn3u/sNeZq0wSY++khY86AU7jAKfL2NiNsoA7CyB0jTEKwYO3vOWOhECifZuHwY/TNWyRFWM2ImW3mT9aO7nE4w4jXXJ vgusev@vgusev
+    rkhozinov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCti9e5kyNEtX3MEns+eehUCzaxZmI8FWkWrLeRQY3jLUGzI3+N12tA7gKffczGIDP/ttnDg1hl98Yw28mkrIfYYMwRMqsBkGmYZyu6EXccyde6/5U/dgKVFGYLjWmbAAcaIaO2YoxqUJKvIanfLNHTRI29KwgxpaMCtjB7+jHiw/V0MF2xKi8yJgajZgh8iXPiv50BGjICx1BuqgqZb5jjxouV0FpU28mBOobqtaphOHeFPHk1Uool9MBt+2ocAjLbFhozmx0xryBVG4FGreovK60Zz4PuGCUL98rSTt8fbebfVokqkCG+sjykTcEQ8h5/0BUR4sPXw5mxATHD/AOv rkhozinov@rkhw
+    vnaumov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDno7VX9jiveRCF7d1C/FK24WLZwCArdrBBOQ1uHqpkUfUYtG6vrYgt/K2n2FXoX55lbeoJAwuNC9HviaY+vQAekCI4W2s02iD+j/GRUwitpv+lJZXSmt/q2PgLz3OFUIsJV0EwyNl+bexM4+2jYTmHeDMrXAsHL4I2GUv5sFycA11UhxZ/Qm2QMKlRZhje/IJieX9u2BhgYuPYffASVl4AhwtDagYdqquwUXrfu/dQRt/U9w0Di9alApcyPqiW9LbXUgwha1G9+ScQnxmp8WvmaV8YR+nf2OFxQHvOZPYjCzniRnYpaQUMeUAkJKxDwqR1dAKYnaQY5TfXtFwfzsjN vnaumov@vnaumov
diff --git a/openssh/server/team/stacklight.yml b/openssh/server/team/stacklight.yml
index 90799da..3eafce1 100644
--- a/openssh/server/team/stacklight.yml
+++ b/openssh/server/team/stacklight.yml
@@ -9,13 +9,6 @@
           full_name: Ales Komarek
           home: /home/newt
           email: mail@newt.cz
-        gthouvenin:
-          enabled: true
-          name: gthouvenin
-          sudo: true
-          full_name: Guillaume Thouvenin
-          home: /home/gthouvenin
-          email: gthouvenin@mirantis.com
         spasquier:
           enabled: true
           name: spasquier
@@ -76,11 +69,6 @@
           public_keys:
           - ${public_keys:newt}
           user: ${linux:system:user:newt}
-        gthouvenin:
-          enabled: true
-          public_keys:
-          - ${public_keys:gthouvenin}
-          user: ${linux:system:user:gthouvenin}
         spasquier:
           enabled: true
           public_keys:
@@ -119,8 +107,6 @@
   public_keys:
     newt:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3odU+3V2uDA2ptAFL9hrJRPNEEdAyztWOZFQ5Oyd9oerTGOU3p4xmrgWWjfKFKbYGhiiIUcYAol5PkTfKukGEkkjCHYA1t023soCaaAj85wCZCnw2zQNAziwxTYmAzTqgxiSvtZNMMrtJvFHRIRDzJ3M1lV0prWNWkMM1/3FAd4W49y6VT3fkMCo8uqG7CfGdgR2DgBCxf9KaNPfW5eDEPOgmE5lK8tVSEI6T+Cg7hbcTf4lFYnlFBnlQgp/0JstsM4Vbwb4B34LOpOsf2S8rrWk2xQMjwaMHXkc2s/E8iW3F5nVFuyEXYISFQIiAHw8dzC6CHgLcyHUVWwznKawZ newt@newt-dev1
-    gthouvenin:
-      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/5rr0LPVsChG0hzpa39JNwX1JdDH/WJL1sFjAG05Y9XDRAri5CYRGWwDdxyN2MA2+ULVojzV5QeV541fnIU6gSpc6Yytm6Ug8DjQ3TwNUY+92GQv5tZj9i/yB8aGpujleVXMDPT5yPDwOnc/q4f/fQWgrXipatkj+lNqL5Z7Ifai0BgmZS1/31LGkGmC1rne6UwszPz6dkswfu6urfKNuQXilcXvYqORlV3U0XD2nLDjNivGVbIArkYGVsgLCGM57cCCF1g1q7QZCNFPzxr+uxMvY2fGgS9ysMkRTr29LtwKMOl8H3cof5alLCIWukpv5qs50NlVEkGu1zKsa9jUj guillaume@Lenovo-PC
     spasquier:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXBHKQaGUNB92DsnyvflmCbmuXnkiuNahZiue3hnyXqLA2q8jmQmzBbxReAJzexnVfJhrUCTw8IPJUpMUP27u3igvGdkhfctdUuxVf9yGJErtGNgHK/aGbeLCvUOmhw6X/xbf3IbyFL1gwxOJ2cmmjlSptYU9E1W2xFY+IMFWBhzO3vso5EABgPVli/UUMfeXUUd++lIZpoyYe2Hkri1QGNhzfbZcFjEO78+vNiLZrvjJEtkXWu7iZTYK6eE365CiFJzqFL7N6Ichb28qakcmVqR/foreuz3cOMqMGssKoOQk1213x8w4fE0yLwf9Ft8L7GMf+vXQvuNt0ZKBPWqn7 spasquier@mirantis.com
     scroiset: