diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
new file mode 100644
index 0000000..c35f6ae
--- /dev/null
+++ b/zuul.d/jobs.yaml
@@ -0,0 +1,24 @@
+---
+- job:
+    name: vexxhost-build-docker-image
+    parent: opendev-build-docker-image
+
+- job:
+    name: vexxhost-upload-docker-image
+    parent: opendev-upload-docker-image
+    allowed-projects: &docker_allowed_projects
+      - vexxhost/openstack-operator
+      - vexxhost/smokeping_prober-helm
+    secrets:
+      - name: docker_credentials
+        secret: vexxhost-dockerhub
+        pass-to-parent: true
+
+- job:
+    name: vexxhost-promote-docker-image
+    parent: opendev-promote-docker-image
+    allowed-projects: *docker_allowed_projects
+    secrets:
+      - name: docker_credentials
+        secret: vexxhost-dockerhub
+        pass-to-parent: true
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
new file mode 100644
index 0000000..972eecf
--- /dev/null
+++ b/zuul.d/project.yaml
@@ -0,0 +1,8 @@
+---
+- project:
+    check:
+      jobs:
+        - noop
+    gate:
+      jobs:
+        - noop
diff --git a/zuul.d/secrets.yaml b/zuul.d/secrets.yaml
new file mode 100644
index 0000000..2511d35
--- /dev/null
+++ b/zuul.d/secrets.yaml
@@ -0,0 +1,16 @@
+---
+- secret:
+    name: vexxhost-dockerhub
+    data:
+      username: vexxhostzuul
+      password: !encrypted/pkcs1-oaep
+        - VICkSiWjQ9UZ/EFZVpgA2Uo6HqnQeSapqFWIWJr+eARd1RuR9FNWqcItsnm/VvulDE32s
+          F0NYCy6VVqkEgI8C6kCoPZOUd7xQW93YKK/Lzt/R1B9Bct6XTlCIzkWDiqFrJuTEZU30q
+          GxQoY4S1V/ENwdz2Vw98OoJ2ClxHc2t1n+eGKjhp+NII35DXhZ2Z95wxX/Sqn/CBm2Kbr
+          9EcDc7oiN6oRhy+y2DUHad6Bk4esdD9YeqKfPVHsK0sYHzS5wdPIoddvhe5jgYc6IoMAc
+          hfEmwYtvzKl7TcLYrNqF7qKQ54/LvM4IoCTjTfws8/6oO94Cc1XZCtHxoBB9Qs6QTtv0o
+          St4CdMwUaXCIVH1pRud7kxrKcC/4cRCYw1mgh+EkAAfJXXX2RipYqaVuT5lXwap4rrljb
+          pQ0aBkk9ZqsD0R1gU0sch+VaE4vuvdL4+40R2D2Mw6ihY+zQh8Fdvt0HfYHLoHJlYZo+W
+          4lrAQYmPtXFCHJ/QFf8csswkgO/edoFAg2uP2aLjL9lt0SC+PVmclIzE9WlQy4UlyXDgB
+          a3Oqedd1aHY+iIzYWw6p6xw90p8n43+gLTV1x7EjU0vvm8e4RULxDSW95LtAITumhoDeT
+          ZRKwZioFgasxGLvbhkoUvxaVQ4157t5jhcm0edBKg47ltz9gGmKoYGQI4JIUSU=