diff --git a/vars/buildCalicoContainers.groovy b/vars/buildCalicoContainers.groovy
index aa79e60..c404bac 100644
--- a/vars/buildCalicoContainers.groovy
+++ b/vars/buildCalicoContainers.groovy
@@ -5,17 +5,9 @@
   body.delegate = config
   body()
 
-  // we need to use Tools library for getting mandatory binary properties
-  def tools = new ci.mcp.Tools()
-
-  def server = Artifactory.server(config.artifactoryServerId ?: "mcp-ci")
-  def buildInfo = Artifactory.newBuildInfo()
-  buildInfo.env.capture = true
-  buildInfo.env.filter.addInclude("*")
-  buildInfo.env.collect()
 
   def dockerRepo = config.dockerRepo ?: "artifactory.mcp.mirantis.net:5001"
-  def artifactoryURL = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
+  def artifactoryUrl = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
 
   def nodeImage = config.nodeImage ?: "calico/node"
   def nodeImageTag = config.nodeImageTag ?: "v0.20.0"
@@ -25,34 +17,36 @@
   def ctlImageTag = config.ctlImageTag ?: "v0.20.0"
   def ctlName = "${dockerRepo}/${ctlImage}:${ctlImageTag}"
 
-  // calico/build goes from {artifactoryURL}/mcp/libcalico/
-  def buildImage = config.buildImage ?: "${artifactoryURL}/mcp/libcalico/lastbuild".toURL().text.trim()
-  // calico/felix goes from {artifactoryURL}/mcp/felix/
-  def felixImage = config.felixImage ?: "${artifactoryURL}/mcp/felix/lastbuild".toURL().text.trim()
+  // calico/build goes from {artifactoryUrl}/mcp/libcalico/
+  def buildImage = config.buildImage ?: "${artifactoryUrl}/mcp/libcalico/lastbuild".toURL().text.trim()
+  // calico/felix goes from {artifactoryUrl}/mcp/felix/
+  def felixImage = config.felixImage ?: "${artifactoryUrl}/mcp/felix/lastbuild".toURL().text.trim()
 
-  def confdBuildId = config.confdBuildId ?: "${artifactoryURL}/mcp/confd/lastbuild".toURL().text.trim()
-  def confdUrl = config.confdUrl ?: "${artifactoryURL}/mcp/confd/confd-${confdBuildId}"
+  def confdBuildId = config.confdBuildId ?: "${artifactoryUrl}/mcp/confd/lastbuild".toURL().text.trim()
+  def confdUrl = config.confdUrl ?: "${artifactoryUrl}/mcp/confd/confd-${confdBuildId}"
 
-  def birdBuildId = config.birdBuildId ?: "${artifactoryURL}/mcp/calico-bird/lastbuild".toURL().text.trim()
-  def birdUrl = config.birdUrl ?: "${artifactoryURL}/mcp/calico-bird/bird-${birdBuildId}"
-  def bird6Url = config.bird6Url ?: "${artifactoryURL}/mcp/calico-bird/bird6-${birdBuildId}"
-  def birdclUrl = config.birdclUrl ?: "${artifactoryURL}/mcp/calico-bird/birdcl-${birdBuildId}"
+  def birdBuildId = config.birdBuildId ?: "${artifactoryUrl}/mcp/calico-bird/lastbuild".toURL().text.trim()
+  def birdUrl = config.birdUrl ?: "${artifactoryUrl}/mcp/calico-bird/bird-${birdBuildId}"
+  def bird6Url = config.bird6Url ?: "${artifactoryUrl}/mcp/calico-bird/bird6-${birdBuildId}"
+  def birdclUrl = config.birdclUrl ?: "${artifactoryUrl}/mcp/calico-bird/birdcl-${birdBuildId}"
 
   def gitCommit = sh(returnStdout: true, script: "git -C ${WORKSPACE} rev-parse --short HEAD").trim()
 
   def build = "${config.containersBuildId}-${gitCommit}"
 
   // return values
-  def calicoNodeImageRepo="${dockerRepo}/${nodeImage}"
-  def calicoCtlImageRepo="${dockerRepo}/${ctlImage}"
-  def calicoVersion="${nodeImageTag}-${build}"
+  def calicoNodeImageRepo = "${dockerRepo}/${nodeImage}"
+  def calicoCtlImageRepo = "${dockerRepo}/${ctlImage}"
+  def calicoVersion = "${nodeImageTag}-${build}"
+  def ctlContainerName = "${ctlName}-${build}"
+  def nodeContainerName = "${nodeName}-${build}"
 
   // Start build section
 
   stage ('Build calico/ctl image'){
     sh """
       make ctl_image \
-        CTL_CONTAINER_NAME=${ctlName}-${build} \
+        CTL_CONTAINER_NAME=${ctlContainerName} \
         BUILD_CONTAINER_NAME=${buildImage} \
         BIRDCL_URL=${birdclUrl}
     """
@@ -62,7 +56,7 @@
   stage('Build calico/node'){
     sh """
       make node_image \
-        NODE_CONTAINER_NAME=${nodeName}-${build} \
+        NODE_CONTAINER_NAME=${nodeContainerName} \
         BUILD_CONTAINER_NAME=${buildImage} \
         FELIX_CONTAINER_NAME=${felixImage} \
         CONFD_URL=${confdUrl} \
@@ -73,51 +67,21 @@
   }
 
 
-  stage('Publishing containers artifacts'){
-
-    withCredentials([
-      [$class: 'UsernamePasswordMultiBinding',
-        credentialsId: "${config.credentialsId}",
-        passwordVariable: 'ARTIFACTORY_PASSWORD',
-        usernameVariable: 'ARTIFACTORY_LOGIN']
-    ]) {
-      sh """
-        echo 'Pushing images'
-        docker login -u ${ARTIFACTORY_LOGIN} -p ${ARTIFACTORY_PASSWORD} ${dockerRepo}
-        docker push ${nodeName}-${build}
-        docker push ${ctlName}-${build}
-      """
-    }
-
-    dir("artifacts"){
-      // Save the last build ID
-      writeFile file: "lastbuild", text: "${build}"
-      // Create config yaml for Kargo
-      writeFile file: "calico-containers-${build}.yaml",
-                text: """\
-                  calico_node_image_repo: ${calicoNodeImageRepo}
-                  calicoctl_image_repo: ${calicoCtlImageRepo}
-                  calico_version: ${calicoVersion}
-                """.stripIndent()
-      // Create the upload spec.
-      def properties = tools.getBinaryBuildProperties()
-      def uploadSpec = """{
-          "files": [
-                  {
-                      "pattern": "**",
-                      "target": "projectcalico/${config.containersBuildId}/calico-containers/",
-                      "props": "${properties}"
-                  }
-              ]
-          }"""
-      // Upload to Artifactory.
-      server.upload(uploadSpec, buildInfo)
-      server.publishBuildInfo buildInfo
-
-    } // dir artifacts
-  } //stage
+  dir("artifacts"){
+    // Save the last build ID
+    writeFile file: "lastbuild", text: "${build}"
+    // Create config yaml for Kargo
+    writeFile file: "calico-containers-${build}.yaml",
+              text: """\
+                calico_node_image_repo: ${calicoNodeImageRepo}
+                calicoctl_image_repo: ${calicoCtlImageRepo}
+                calico_version: ${calicoVersion}
+              """.stripIndent()
+  } // dir artifacts
 
   return [
+    CTL_CONTAINER_NAME:"${ctlContainerName}",
+    NODE_CONTAINER_NAME:"${nodeContainerName}",
     CALICO_NODE_IMAGE_REPO:"${calicoNodeImageRepo}",
     CALICOCTL_IMAGE_REPO:"${calicoCtlImageRepo}",
     CALICO_VERSION: "${calicoVersion}"
diff --git a/vars/buildCalicoContainers.txt b/vars/buildCalicoContainers.txt
index e0f1468..67ffece 100644
--- a/vars/buildCalicoContainers.txt
+++ b/vars/buildCalicoContainers.txt
@@ -1,8 +1,7 @@
 // Usage example
 // List of parameters with the default values
-  def server = Artifactory.server(config.artifactoryServerId ?: "mcp-ci")
   def dockerRepo = config.dockerRepo ?: "artifactory.mcp.mirantis.net:5001"
-  def artifactoryURL = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
+  def artifactoryUrl = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
   def nodeImage = config.nodeImage ?: "calico/node"
   def nodeImageTag = config.nodeImageTag ?: "v0.20.0"
   def ctlImage = config.ctlImage ?: "calico/ctl"
@@ -16,7 +15,6 @@
   def bird6Url = config.bird6Url ?: "${artifactoryURL}/mcp/calico-bird/bird6-${birdBuildId}"
   def birdclUrl = config.birdclUrl ?: "${artifactoryURL}/mcp/calico-bird/birdcl-${birdBuildId}"
   def build = "${config.containersBuildId}-${gitCommit}"
-  def credentialsId = config.credentialsId
 
 // *** Examples 1:
 // we still use old schema and want to publish to GERRIT_CHANGE_NUMBER
@@ -28,7 +26,5 @@
       dockerRepo = "artifactory.mcp.mirantis.net:5004"
       artifactoryURL = "https://artifactory.mcp.mirantis.net/artifactory/sandbox"
       containersBuildId = buildId
-      credentialsId = "artifactory-sandbox"
-      artifactoryServerId = "mcp-ci-sandbox"
     }
 }
