build: use multi-stage dockerfile (#1054)

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
diff --git a/docker-bake.hcl b/docker-bake.hcl
index 5094d56..ea8a9be 100644
--- a/docker-bake.hcl
+++ b/docker-bake.hcl
@@ -20,144 +20,11 @@
     result = PUSH_TO_CACHE ? [format("%s,%s", cache_from(image)[0], "mode=max,image-manifest=true,oci-mediatypes=true,compression=zstd")] : []
 }
 
-target "ubuntu" {
-    context = "./images/ubuntu"
-
-    cache-from = cache_from("ubuntu")
-    cache-to = cache_to("ubuntu")
-
-    contexts = {
-        ubuntu = "docker-image://ubuntu:jammy-20240227"
-    }
-}
-
-target "git" {
-    context = "./images/git"
-
-    cache-from = cache_from("git")
-    cache-to = cache_to("git")
-}
-
-target "ubuntu-cloud-archive" {
-    name = "ubuntu-cloud-archive-${release.tgt}"
-    context = "./images/ubuntu-cloud-archive"
-
-    cache-from = cache_from("ubuntu-cloud-archive:${release.name}")
-    cache-to = cache_to("ubuntu-cloud-archive:${release.name}")
-
-    matrix = {
-        release = [
-            {
-                tgt = "zed",
-                name = "zed",
-            },
-            {
-                tgt = "bobcat",
-                name = "2023.2",
-            }
-        ]
-    }
-
-    contexts = {
-        ubuntu = "target:ubuntu"
-    }
-
-    args = {
-        RELEASE = release.name
-    }
-}
-
-target "requirements" {
-    name = "requirements-${release.tgt}"
-    context = "./images/requirements"
-
-    cache-from = cache_from("requirements:${release.name}")
-    cache-to = cache_to("requirements:${release.name}")
-
-    matrix = {
-        release = [
-            {
-                tgt = "zed",
-                name = "zed",
-            },
-            {
-                tgt = "bobcat",
-                name = "2023.2",
-            }
-        ]
-    }
-
-    contexts = {
-        ubuntu = "target:ubuntu"
-    }
-
-    args = {
-        RELEASE = release.name
-    }
-}
-
-target "openstack-venv-builder" {
-    name = "openstack-venv-builder-${release.tgt}"
-    context = "./images/openstack-venv-builder"
-
-    cache-from = cache_from("openstack-venv-builder:${release.name}")
-    cache-to = cache_to("openstack-venv-builder:${release.name}")
-
-    matrix = {
-        release = [
-            {
-                tgt = "zed",
-                name = "zed",
-            },
-            {
-                tgt = "bobcat",
-                name = "2023.2",
-            }
-        ]
-    }
-
-    contexts = {
-        ubuntu-cloud-archive = "target:ubuntu-cloud-archive-${release.tgt}",
-        requirements = "target:requirements-${release.tgt}",
-    }
-
-    args = {
-        RELEASE = release.name
-    }
-}
-
-target "openstack-runtime" {
-    name = "openstack-runtime-${release.tgt}"
-    context = "./images/openstack-runtime"
-
-    cache-from = cache_from("openstack-runtime:${release.name}")
-    cache-to = cache_to("openstack-runtime:${release.name}")
-
-    matrix = {
-        release = [
-            {
-                tgt = "zed",
-                name = "zed",
-            },
-            {
-                tgt = "bobcat",
-                name = "2023.2",
-            }
-        ]
-    }
-
-    contexts = {
-        ubuntu-cloud-archive = "target:ubuntu-cloud-archive-${release.tgt}",
-    }
-
-    args = {
-        RELEASE = release.name
-    }
-}
-
 target "barbican" {
     name = "barbican-${release.tgt}"
-    context = "./images/barbican"
+
+    context = "."
+    target = "barbican"
 
     cache-from = cache_from("barbican:${release.name}")
     cache-to = cache_to("barbican:${release.name}")
@@ -177,14 +44,9 @@
         ]
     }
 
-    contexts = {
-        openstack-venv-builder = "target:openstack-venv-builder-${release.tgt}"
-        openstack-runtime = "target:openstack-runtime-${release.tgt}",
-        git = "target:git"
-    }
-
     args = {
         RELEASE = release.name
+        BRANCH = format("stable/%s", release.name)
         PROJECT = "barbican"
         BARBICAN_GIT_REF = release.ref
     }