chore: build more images using repo
diff --git a/Earthfile b/Earthfile
index 5546dd4..52dde3e 100644
--- a/Earthfile
+++ b/Earthfile
@@ -49,8 +49,12 @@
   SAVE IMAGE --push ghcr.io/vexxhost/atmosphere:${tag}
 
 images:
-  BUILD ./images/glance+image
+  BUILD ./images/barbican+image
   BUILD ./images/cluster-api-provider-openstack+image
+  BUILD ./images/glance+image
+  BUILD ./images/heat+image
+  BUILD ./images/octavia+image
+  BUILD ./images/placement+image
 
 pin-images:
   FROM +build.venv.dev
diff --git a/images/barbican/Earthfile b/images/barbican/Earthfile
new file mode 100644
index 0000000..3b37bea
--- /dev/null
+++ b/images/barbican/Earthfile
@@ -0,0 +1,11 @@
+VERSION 0.7
+
+image:
+  ARG PROJECT=barbican
+  ARG RELEASE=zed
+  ARG REF=7d6749fcb1ad16a3350de82cd8e523d5b55306f8
+  ARG PIP_PACKAGES="pykmip"
+  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF} --PIP_PACKAGES "${PIP_PACKAGES}"
+  SAVE IMAGE --push \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}
diff --git a/images/cloud-archive-builder/2023.1/upper-constraints.txt b/images/cloud-archive-builder/2023.1/upper-constraints.txt
index 984fe9f..a8eade5 100644
--- a/images/cloud-archive-builder/2023.1/upper-constraints.txt
+++ b/images/cloud-archive-builder/2023.1/upper-constraints.txt
@@ -305,7 +305,7 @@
 capacity==1.3.14
 retrying==1.3.4
 XStatic-Dagre==0.6.4.1
-platformdirs==2.6.2
+platformdirs==3.11.0
 pydotplus==2.0.2
 boto3==1.34.11
 jeepney==0.8.0
@@ -450,7 +450,7 @@
 xattr==0.10.1
 systemd-python==234
 python-memcached==1.61
-openstacksdk==1.5.0
+openstacksdk==2.0.0
 six==1.16.0
 dulwich==0.21.7
 dfs-sdk==1.2.27
diff --git a/images/cloud-archive-builder/2023.2/upper-constraints.txt b/images/cloud-archive-builder/2023.2/upper-constraints.txt
index ab67ec7..3cefa30 100644
--- a/images/cloud-archive-builder/2023.2/upper-constraints.txt
+++ b/images/cloud-archive-builder/2023.2/upper-constraints.txt
@@ -457,7 +457,7 @@
 xattr==0.10.1
 systemd-python==235
 python-memcached==1.61
-openstacksdk==1.5.0
+openstacksdk==2.0.0
 looseversion==1.3.0
 six==1.16.0
 dulwich==0.21.7
diff --git a/images/cloud-archive-builder/zed/upper-constraints.txt b/images/cloud-archive-builder/zed/upper-constraints.txt
index 32bb588..3237f89 100644
--- a/images/cloud-archive-builder/zed/upper-constraints.txt
+++ b/images/cloud-archive-builder/zed/upper-constraints.txt
@@ -305,7 +305,7 @@
 capacity==1.3.14
 retrying==1.3.4
 XStatic-Dagre==0.6.4.1
-platformdirs==2.6.2
+platformdirs==3.11.0
 pydotplus==2.0.2
 boto3==1.34.11
 jeepney==0.8.0
@@ -450,7 +450,7 @@
 xattr==0.10.1
 systemd-python==234
 python-memcached==1.61
-openstacksdk==0.103.0
+openstacksdk==2.0.0
 six==1.16.0
 dulwich==0.21.7
 dfs-sdk==1.2.27
diff --git a/images/glance/Earthfile b/images/glance/Earthfile
index e255ac8..55d6169 100644
--- a/images/glance/Earthfile
+++ b/images/glance/Earthfile
@@ -4,10 +4,12 @@
   ARG PROJECT=glance
   ARG RELEASE=zed
   ARG REF=06a18202ab52c64803f044b8f848ed1c160905d2
-  ARG PACKAGES="ceph-common lsscsi nvme-cli python3-rados python3-rbd qemu-utils sysfsutils udev util-linux"
   ARG PIP_PACKAGES="glance_store[cinder]"
-  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF} --PACKAGES "${PACKAGES}" --PIP_PACKAGES "${PIP_PACKAGES}"
+  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF} --PIP_PACKAGES "${PIP_PACKAGES}"
+  DO \
+    ../+APT_INSTALL \
+    --PACKAGES "ceph-common lsscsi nvme-cli python3-rados python3-rbd qemu-utils sysfsutils udev util-linux"
   COPY ../kubernetes+image/kubectl /usr/local/bin/kubectl
   SAVE IMAGE --push \
-    ghcr.io/vexxhost/atmosphere/glance:${RELEASE} \
-    ghcr.io/vexxhost/atmosphere/glance:${REF}
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}
diff --git a/images/heat/Earthfile b/images/heat/Earthfile
new file mode 100644
index 0000000..4fde452
--- /dev/null
+++ b/images/heat/Earthfile
@@ -0,0 +1,13 @@
+VERSION 0.7
+
+image:
+  ARG PROJECT=heat
+  ARG RELEASE=zed
+  ARG REF=a2b70a93658ecd2774f22c63a394c5629aefdbe7
+  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF}
+  DO \
+    ../+APT_INSTALL \
+    --PACKAGES "curl"
+  SAVE IMAGE --push \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}
diff --git a/images/octavia/Earthfile b/images/octavia/Earthfile
new file mode 100644
index 0000000..4847ee2
--- /dev/null
+++ b/images/octavia/Earthfile
@@ -0,0 +1,14 @@
+VERSION 0.7
+
+image:
+  ARG PROJECT=octavia
+  ARG RELEASE=zed
+  ARG REF=4c97b585ce6e519a5ff090c2cd97fab0e801be0c
+  ARG PIP_PACKAGES="ovn-octavia-provider"
+  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF} --PIP_PACKAGES "${PIP_PACKAGES}"
+  DO \
+    ../+APT_INSTALL \
+    --PACKAGES "isc-dhcp-client"
+  SAVE IMAGE --push \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}
diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile
index c3dee25..928694c 100644
--- a/images/openstack-service/Earthfile
+++ b/images/openstack-service/Earthfile
@@ -3,10 +3,6 @@
 image:
   ARG RELEASE
   FROM ../cloud-archive-base+image --RELEASE=${RELEASE}
-  ARG PACKAGES
-  DO \
-    ../+APT_INSTALL \
-    --PACKAGES ${PACKAGES}
   ARG PROJECT
   ARG PROJECT_REF
   ARG PIP_PACKAGES
diff --git a/images/placement/Earthfile b/images/placement/Earthfile
new file mode 100644
index 0000000..ed72871
--- /dev/null
+++ b/images/placement/Earthfile
@@ -0,0 +1,10 @@
+VERSION 0.7
+
+image:
+  ARG PROJECT=placement
+  ARG RELEASE=zed
+  ARG REF=d7ced6bd2fc82caf458f20b5652888164b1bbb70
+  FROM ../openstack-service+image --PROJECT ${PROJECT} --RELEASE ${RELEASE} --PROJECT_REF ${REF}
+  SAVE IMAGE --push \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+    ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}
diff --git a/internal/pkg/image_repositories/build_workflow.go b/internal/pkg/image_repositories/build_workflow.go
index c85a86f..77ad1e2 100644
--- a/internal/pkg/image_repositories/build_workflow.go
+++ b/internal/pkg/image_repositories/build_workflow.go
@@ -15,41 +15,29 @@
 }
 var EXTRAS map[string]string = map[string]string{}
 var PROFILES map[string]string = map[string]string{
-	"cinder":            "ceph qemu",
-	"glance":            "ceph",
-	"horizon":           "apache",
-	"ironic":            "ipxe ipmi qemu tftp",
-	"keystone":          "apache ldap openidc",
-	"monasca-api":       "apache influxdb",
-	"monasca-persister": "influxdb",
-	"neutron":           "openvswitch vpn",
-	"nova":              "ceph openvswitch configdrive qemu migration",
-	"placement":         "apache",
+	"cinder":   "ceph qemu",
+	"horizon":  "apache",
+	"ironic":   "ipxe ipmi qemu tftp",
+	"keystone": "apache ldap openidc",
+	"neutron":  "openvswitch vpn",
+	"nova":     "ceph openvswitch configdrive qemu migration",
 }
 var DIST_PACAKGES map[string]string = map[string]string{
-	"cinder":        "kubectl lsscsi nvme-cli sysfsutils udev util-linux",
-	"designate":     "bind9utils",
-	"glance":        "kubectl lsscsi nvme-cli sysfsutils udev util-linux",
-	"heat":          "curl",
-	"ironic":        "ethtool lshw iproute2",
-	"magnum":        "haproxy",
-	"manila":        "iproute2 openvswitch-switch",
-	"monasca-agent": "iproute2 libvirt-clients lshw",
-	"neutron":       "jq ethtool lshw",
-	"nova":          "ovmf qemu-efi-aarch64 lsscsi nvme-cli sysfsutils udev util-linux ndctl python3-libvirt",
+	"cinder":    "kubectl lsscsi nvme-cli sysfsutils udev util-linux",
+	"designate": "bind9utils",
+	"ironic":    "ethtool lshw iproute2",
+	"magnum":    "haproxy",
+	"manila":    "iproute2 openvswitch-switch",
+	"neutron":   "jq ethtool lshw",
+	"nova":      "ovmf qemu-efi-aarch64 lsscsi nvme-cli sysfsutils udev util-linux ndctl python3-libvirt",
 }
 var PIP_PACKAGES map[string][]string = map[string][]string{
-	"barbican":      {"pykmip"},
-	"cinder":        {"purestorage"},
-	"glance":        {"glance_store[cinder]"},
-	"horizon":       {"git+https://github.com/openstack/designate-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/heat-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/ironic-ui.git@stable/${{ matrix.release }}", "git+https://github.com/vexxhost/magnum-ui.git@stable/${{ matrix.release }} git+https://github.com/openstack/neutron-vpnaas-dashboard.git@stable/${{ matrix.release }} git+https://github.com/openstack/octavia-dashboard.git@stable/${{ matrix.release }} git+https://github.com/openstack/senlin-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/monasca-ui.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/manila-ui.git@stable/${{ matrix.release }}"},
-	"ironic":        {"python-dracclient", "sushy"},
-	"keystone":      {"keystone-keycloak-backend==0.1.6"},
-	"magnum":        {"magnum-cluster-api==0.6.0"},
-	"monasca-agent": {"libvirt-python", "python-glanceclient", "python-neutronclient", "python-novaclient", "py3nvml"},
-	"neutron":       {"neutron-vpnaas"},
-	"octavia":       {"ovn-octavia-provider"},
-	"placement":     {"httplib2"},
+	"cinder":   {"purestorage"},
+	"horizon":  {"git+https://github.com/openstack/designate-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/heat-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/ironic-ui.git@stable/${{ matrix.release }}", "git+https://github.com/vexxhost/magnum-ui.git@stable/${{ matrix.release }} git+https://github.com/openstack/neutron-vpnaas-dashboard.git@stable/${{ matrix.release }} git+https://github.com/openstack/octavia-dashboard.git@stable/${{ matrix.release }} git+https://github.com/openstack/senlin-dashboard.git@stable/${{ matrix.release }}", "git+https://github.com/openstack/manila-ui.git@stable/${{ matrix.release }}"},
+	"ironic":   {"python-dracclient", "sushy"},
+	"keystone": {"keystone-keycloak-backend==0.1.6"},
+	"magnum":   {"magnum-cluster-api==0.6.0"},
+	"neutron":  {"neutron-vpnaas"},
 }
 var PLATFORMS map[string]string = map[string]string{
 	"nova":    "linux/amd64,linux/arm64",
diff --git a/roles/horizon/files/50-monasca-ui-settings.py b/roles/horizon/files/50-monasca-ui-settings.py
deleted file mode 100644
index 1171a8e..0000000
--- a/roles/horizon/files/50-monasca-ui-settings.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
-
-# Service group names (global across all projects):
-MONITORING_SERVICES_GROUPS = [
-    {"name": _("OpenStack Services"), "groupBy": "service"},
-    {"name": _("Servers"), "groupBy": "hostname"},
-]
-
-# Services being monitored
-MONITORING_SERVICES = getattr(
-    settings, "MONITORING_SERVICES_GROUPS", MONITORING_SERVICES_GROUPS
-)
-
-MONITORING_SERVICE_VERSION = getattr(settings, "MONITORING_SERVICE_VERSION", "2_0")
-MONITORING_SERVICE_TYPE = getattr(settings, "MONITORING_SERVICE_TYPE", "monitoring")
-MONITORING_ENDPOINT_TYPE = getattr(
-    # NOTE(trebskit) # will default to OPENSTACK_ENDPOINT_TYPE
-    settings,
-    "MONITORING_ENDPOINT_TYPE",
-    None,
-)
-
-# Grafana button titles/file names (global across all projects):
-# GRAFANA_LINKS = [{"raw": True, "path": "monasca-dashboard", "title": "Sub page1"}]
-GRAFANA_LINKS = []
-DASHBOARDS = getattr(settings, "GRAFANA_LINKS", GRAFANA_LINKS)
-
-GRAFANA_URL = {"regionOne": "/grafana"}
-
-SHOW_GRAFANA_HOME = getattr(settings, "SHOW_GRAFANA_HOME", True)
-
-ENABLE_LOG_MANAGEMENT_BUTTON = getattr(settings, "ENABLE_LOG_MANAGEMENT_BUTTON", False)
-ENABLE_EVENT_MANAGEMENT_BUTTON = getattr(
-    settings, "ENABLE_EVENT_MANAGEMENT_BUTTON", False
-)
-
-KIBANA_POLICY_RULE = getattr(settings, "KIBANA_POLICY_RULE", "monitoring:kibana_access")
-KIBANA_POLICY_SCOPE = getattr(settings, "KIBANA_POLICY_SCOPE", "monitoring")
-KIBANA_HOST = getattr(settings, "KIBANA_HOST", "http://192.168.10.6:5601/")
-
-OPENSTACK_SSL_NO_VERIFY = getattr(settings, "OPENSTACK_SSL_NO_VERIFY", False)
-OPENSTACK_SSL_CACERT = getattr(settings, "OPENSTACK_SSL_CACERT", None)
-
-POLICY_FILES = getattr(settings, "POLICY_FILES", {})
-POLICY_FILES.update(
-    {
-        "monitoring": "monitoring_policy.json",
-    }
-)  # noqa
-setattr(settings, "POLICY_FILES", POLICY_FILES)
diff --git a/roles/horizon/vars/main.yml b/roles/horizon/vars/main.yml
index a1618ca..b4c2130 100644
--- a/roles/horizon/vars/main.yml
+++ b/roles/horizon/vars/main.yml
@@ -37,8 +37,6 @@
             WEBSSO_KEYSTONE_URL: https://{{ openstack_helm_endpoints['identity']['host_fqdn_override']['public']['host'] }}/v3
             # yamllint disable-line rule:line-length
             LOGOUT_URL: https://{{ openstack_helm_endpoints['identity']['host_fqdn_override']['public']['host'] }}/v3/auth/OS-FEDERATION/identity_providers/redirect?logout=https://{{ openstack_helm_endpoints_horizon_api_host }}/auth/logout/
-      local_settings_d:
-        _50_monasca_ui_settings: "{{ lookup('file', '50-monasca-ui-settings.py') }}"
       extra_panels:
         - designatedashboard
         - heat_dashboard
@@ -49,12 +47,6 @@
         - neutron_vpnaas_dashboard
         - octavia_dashboard
         - senlin_dashboard
-      policy:
-        monitoring:
-          default: "@"
-          monasca_user_role: role:monasca-user
-          monitoring:monitoring: rule:monasca_user_role
-          monitoring:kibana_access: rule:monasca_user_role
   manifests:
     ingress_api: false
     service_ingress_api: false