diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fef36d79a9c2ad981dee9d92acdab459f2a0c0b9..4cd7565091c9a8a27c6f2125a9a6ce8234f93dd7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,61 +6,81 @@ stages:
 - build
 - manifest
 - deploy
+- tech_registry
 
 variables:
-   DOCKER_CONFIG: ~/.docker/$CI_JOB_ID
+  DOCKER_CONFIG: ~/.docker/$CI_JOB_ID
+  IMAGE_amd64:         $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
+  IMAGE_ppc64le:       $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
+  MANIFEST:            $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
+  TECH_IMAGE_amd64:    $REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
+  TECH_IMAGE_ppc64le:  $REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
+  TECH_MANIFEST:       $REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
 
 before_script:
   - "[ -d $DOCKER_CONFIG ] || mkdir -p $DOCKER_CONFIG"
   - "echo '{ \"experimental\": \"enabled\" }' > $DOCKER_CONFIG/config.json"
   - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+  - docker login $REGISTRY_TECH_URL --username $REGISTRY_TECH_USER --password $REGISTRY_TECH_PASS
+
 
 after_script:
   - "rm -vRf $DOCKER_CONFIG"
 
 ppc64le:
-  variables:
-    IMAGE:     $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
-    IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
   stage: build
   tags:
     - ppc64le
   script:
-    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
-    - docker push $IMAGE
+    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN   --pull -t $IMAGE_ppc64le -f Dockerfile .
+    - docker push $IMAGE_ppc64le
 
 amd64:
   variables:
-    IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
-    IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
   stage: build
   tags:
     - amd64
   script:
-    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
-    - docker push $IMAGE
+    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE_amd64 -f Dockerfile .
+    - docker push $IMAGE_amd64
 
 manifest:
-  variables:
-    IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
-    IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_SHA
-    IMAGE_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
-    IMAGE_SHA_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_SHA
-    IMAGE_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
-    IMAGE_SHA_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_SHA
   stage: manifest
   tags:
     - amd64
   script:
-    - docker manifest create $IMAGE $IMAGE_amd64 $IMAGE_ppc64le 
-    - docker manifest push $IMAGE
- 
+    - docker manifest create   $MANIFEST $IMAGE_amd64 $IMAGE_ppc64le
+    - docker manifest annotate $MANIFEST $IMAGE_amd64   --os linux --arch amd64
+    - docker manifest annotate $MANIFEST $IMAGE_ppc64le --os linux --arch ppc64le
+    - docker manifest push     $MANIFEST
+
+
 deploy:
   stage: deploy
   tags:
     - hv2
   only:
-    - master 
+    - master
   script:
     - apk add curl
-    - for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=master https://code.vereign.com/api/v4/projects/59/trigger/pipeline; done
+    - for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done
+    
+duplicate:
+  stage: tech_registry
+  tags:
+    - amd64
+  only:
+    refs:
+      - tags
+      - master
+  script:
+    - docker pull $IMAGE_amd64
+    - docker tag  $IMAGE_amd64   $TECH_IMAGE_amd64 
+    - docker pull $IMAGE_ppc64le
+    - docker tag  $IMAGE_ppc64le $TECH_IMAGE_ppc64le 
+    - docker push $TECH_IMAGE_amd64
+    - docker push $TECH_IMAGE_ppc64le
+    - docker manifest create   $TECH_MANIFEST $TECH_IMAGE_amd64 $TECH_IMAGE_ppc64le
+    - docker manifest annotate $TECH_MANIFEST $TECH_IMAGE_amd64   --os linux --arch amd64
+    - docker manifest annotate $TECH_MANIFEST $TECH_IMAGE_ppc64le --os linux --arch ppc64le
+    - docker manifest push     $TECH_MANIFEST