diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e9cf324654137fc2aa97d132bff39a3117b6424a..0317717cb413ed56098d2b8913f99e499407f766 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -61,7 +61,19 @@ testinfra:
     - eval $(ssh-agent -s)
     - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
     - cd test/
-    - py.test -v --connection=ansible --ansible-inventory=./inventory.yml --hosts='ansible://*'
+    - py.test -v -m 'testinfra' --connection=ansible --ansible-inventory=./inventory.yml --hosts='ansible://*'
+
+certs:
+  stage: test
+  image: "${CI_REGISTRY_IMAGE}/bootstrap-ci"
+  variables:
+    OAS_DOMAIN: 'ci-${CI_PIPELINE_ID}.ci.openappstack.net'
+  allow_failure: true
+  script:
+    - eval $(ssh-agent -s)
+    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
+    - cd test/
+    - py.test -v -m 'certs' --connection=ansible --ansible-inventory=./inventory.yml --hosts='ansible://*'
 
 terminate:
   stage: cleanup
diff --git a/test/Dockerfile b/test/Dockerfile
index b7619d43af0faaebc9da1197cd2c1bbd40fb48dd..9ea3e9376e037bf8d896045a7fa68c8588f8f6ad 100644
--- a/test/Dockerfile
+++ b/test/Dockerfile
@@ -1,13 +1,15 @@
 FROM alpine:3.9
 
-LABEL Name="Openappstack bootstrap CI test image"
-LABEL version="3.9"
+LABEL name="Openappstack bootstrap CI test image"
+LABEL version="4.0"
 LABEL vendor1="Greenhost"
 
 RUN apk --no-cache add \
   chromium \
   chromium-chromedriver \
   curl \
+  # needed for installing pycurl python module
+  curl-dev \
   gcc \
   libffi-dev \
   make \
diff --git a/test/pytest/test_certs.py b/test/pytest/test_certs.py
new file mode 100644
index 0000000000000000000000000000000000000000..75789c2126316a70639453719c1cfd1316c2403c
--- /dev/null
+++ b/test/pytest/test_certs.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+"""Validates remote TLS certs."""
+
+
+import pycurl
+import certifi
+from io import BytesIO
+import os
+import pytest
+
+
+def check_cert_url(url: str):
+    print('Testing URL: ', url)
+
+    buffer = BytesIO()
+    c = pycurl.Curl()
+    c.setopt(c.URL, url)
+    c.setopt(c.WRITEDATA, buffer)
+    c.setopt(c.CAINFO, certifi.where())
+    c.setopt(c.VERBOSE, True)
+
+    try:
+        c.perform()
+        valid_cert = True
+    except pycurl.error as e:
+        valid_cert = False
+        print('Cert error!')
+        if e.args[0] == pycurl.E_COULDNT_CONNECT and c.exception:
+            print(c.exception)
+        else:
+            print(e)
+    c.close()
+
+    return valid_cert
+
+
+@pytest.mark.certs
+def test_cert_validation(host):
+
+    domain = os.environ.get("OAS_DOMAIN")
+    assert domain, "Please export OAS_DOMAIN as environment variable."
+
+    # Check traefik cert
+    assert check_cert_url('https://traefi.%s/' % domain)
diff --git a/test/pytest/test_docker.py b/test/pytest/test_docker.py
index 9b2a0052abde0f410c5a89629538c8874706f660..ff116ccda5b119218b6d67deef7d20323e470f2e 100644
--- a/test/pytest/test_docker.py
+++ b/test/pytest/test_docker.py
@@ -1,9 +1,14 @@
+import pytest
+
+
+@pytest.mark.testinfra
 def test_docker_is_installed(host):
     docker = host.package("docker-ce")
     assert docker.is_installed
     assert docker.version.startswith("5:18.09")
 
 
+@pytest.mark.testinfra
 def test_docker_running_and_enabled(host):
     docker = host.service("docker")
     assert docker.is_running
diff --git a/test/pytest/test_system.py b/test/pytest/test_system.py
index 8df1b77e671e5c47a8b2259c89f1e9cf1af8df9c..c41d9d084e7a905fbdc61e7bd979ab04b49e66ff 100644
--- a/test/pytest/test_system.py
+++ b/test/pytest/test_system.py
@@ -1,3 +1,7 @@
+import pytest
+
+
+@pytest.mark.testinfra
 def test_release_is_bionic(host):
     system_info = host.system_info
     assert system_info.release == '9.8'
diff --git a/test/requirements.txt b/test/requirements.txt
index bc4c4c9e431d0a43a6823ad4c59f83d9603a2754..9b4ac44ddf518dbc606b6fc4bb0602d904ecb8e4 100644
--- a/test/requirements.txt
+++ b/test/requirements.txt
@@ -1,7 +1,9 @@
 ansible~=2.6.0
 behave-webdriver>=0.2.2
+# Needed for ansible k8s resource
 openshift>=0.8.6
 psutil>=5.5.0
+pycurl>=7.43.0.2
 pytest>=4.3.0
 requests>=2.19.1
 tabulate>=0.8.3