Add depot jobs

Change-Id: Ibbff1da2b4148ec33859cfccb4b8f3f1c004f8ac
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..e30e3ff
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,7 @@
+- project:
+    check:
+      jobs:
+        - noop
+    gate:
+      jobs:
+        - noop
diff --git a/playbooks/depot-bake/pre.yml b/playbooks/depot-bake/pre.yml
new file mode 100644
index 0000000..b9148e5
--- /dev/null
+++ b/playbooks/depot-bake/pre.yml
@@ -0,0 +1,3 @@
+- hosts: all
+  roles:
+    - ensure-depot
diff --git a/playbooks/depot-bake/run.yml b/playbooks/depot-bake/run.yml
new file mode 100644
index 0000000..96c99cc
--- /dev/null
+++ b/playbooks/depot-bake/run.yml
@@ -0,0 +1,32 @@
+- hosts: all
+  tasks:
+    - name: Ensure folder for Docker configuration
+      ansible.builtin.file:
+        path: "{{ ansible_env.HOME }}/.docker"
+        state: directory
+
+    - name: Build images using Bake
+      block:
+        - name: Login to Docker registry
+          no_log: true
+          ansible.builtin.copy:
+            content: "{{ depot_bake_docker_config }}"
+            dest: "{{ ansible_env.HOME }}/.docker/config.json"
+            mode: 0600
+          vars:
+            depot_bake_docker_config: |
+              {
+                "auths": {
+                  "{{ depot_bake_registry.host }}{% if depot_bake_registry.port != 443 %}:{{ depot_bake_registry.port }}{% endif %}": {
+                    "auth": "{{ (depot_bake_registry.username + ':' + depot_bake_registry.password) | b64encode }}"
+                  }
+                }
+              }
+
+        - name: Run "depot bake"
+          ansible.builtin.include_role:
+            name: depot-bake
+
+      always:
+        - name: Delete Docker configuration
+          ansible.builtin.command: "shred {{ ansible_env.HOME }}/.docker/config.json"
diff --git a/playbooks/promote-depot-bake/run.yaml b/playbooks/promote-depot-bake/run.yaml
new file mode 100644
index 0000000..c426d08
--- /dev/null
+++ b/playbooks/promote-depot-bake/run.yaml
@@ -0,0 +1,3 @@
+- hosts: localhost
+  roles:
+    - promote-depot-bake
diff --git a/zuul.d/depot-jobs.yaml b/zuul.d/depot-jobs.yaml
new file mode 100644
index 0000000..a623664
--- /dev/null
+++ b/zuul.d/depot-jobs.yaml
@@ -0,0 +1,14 @@
+- job:
+    name: depot-bake-base
+    abstract: true
+    pre-run:
+      - playbooks/depot-bake/pre.yml
+    run:
+      - playbooks/depot-bake/run.yml
+
+- job:
+    name: promote-depot-bake-base
+    abstract: true
+    run: playbooks/promote-depot-bake/run.yaml
+    nodeset:
+      nodes: []
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index 5581c38..ff6c5a4 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -4,11 +4,3 @@
       jobs: []
     gate:
       jobs: []
-
-- project:
-    check:
-      jobs:
-        - noop
-    gate:
-      jobs:
-        - noop