diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dd18bc2323cf61d19f637d06b7ea4cc87795f859..cc6440e7e8363071414cd0e4742c404c1e97e53b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,28 +4,52 @@ services:
 
 stages:
 - build
-
+- manifest
 
 before_script:
+  - mkdir ~/.docker
+  - "echo '{ \"experimental\": \"enabled\" }' > ~/.docker/config.json"
   - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.vereign.com
 
 ppc64le:
   variables:
-    IMAGE: registry.vereign.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
+    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 --pull --build-arg ARCH=$CI_JOB_NAME -t $IMAGE -f Dockerfile .
+    - docker build --build-arg ARCH=$CI_JOB_NAME --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 tag $IMAGE $IMAGE_SHA
+    - docker push $IMAGE_SHA
 amd64:
   variables:
-    IMAGE: registry.vereign.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
+    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 --pull --build-arg ARCH=$CI_JOB_NAME -t $IMAGE -f Dockerfile .
+    - docker build --build-arg ARCH=$CI_JOB_NAME --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 tag $IMAGE $IMAGE_SHA
+    - docker push $IMAGE_SHA
+
+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 $IMAGE_SHA $IMAGE_SHA_amd64 $IMAGE_SHA_ppc64le 
+    - docker manifest push $IMAGE_SHA