diff --git a/src/com/mirantis/mk/Mirror.groovy b/src/com/mirantis/mk/Mirror.groovy
new file mode 100644
index 0000000..a13f1b7
--- /dev/null
+++ b/src/com/mirantis/mk/Mirror.groovy
@@ -0,0 +1,34 @@
+package com.mirantis.mk
+
+/**
+ *
+ * Functions to work with mirror.mirantis.com
+ *
+ */
+
+/**
+ * Returns latest meta for latest available snapshot
+ *
+ * @param host          mirror host
+ * @param version       version of components (nightly|testing|stable|release-x)
+ * @param component     component name (salt-formulas)
+ * @param distribution  ubuntu distribution to get repo for (xenial by default)
+ */
+def getLatestSnapshotMeta(host, version, component, distribution='xenial') {
+  common = new com.mirantis.mk.Common()
+
+  def repoUrl = "http://${host}/${version}/${component}/${distribution}.target.txt"
+  def res
+  def snapshotName
+  def meta = [:]
+
+  res = common.shCmdStatus("curl ${repoUrl}")
+  // Return multiple lines where first one is the latest snapshot
+  // ../../.snapshots/nightly-salt-formulas-xenial-2018-12-10-204157
+  snapshotName = res['stdout'].split("\n")[0].tokenize('/').last().trim()
+
+  meta['repoUrl'] = "http://${host}/.snapshots/${snapshotName}"
+  meta['repoName'] = snapshotName
+
+  return meta
+}
