From e448e6264ea41beebe86dcc6ee4ce24d51da1ed7 Mon Sep 17 00:00:00 2001 From: Nikholas Pcenicni <82239765+nikpcenicni@users.noreply.github.com> Date: Wed, 13 May 2026 17:47:21 -0400 Subject: [PATCH] Add new repository configuration for Headlamp in Argo CD application manifest to enhance deployment management and streamline application synchronization. --- .../app-of-apps/headlamp-application.yaml | 3 ++ .../bootstrap/headlamp/kustomization.yaml | 5 +++ .../headlamp/metrics-clusterrolebinding.yaml | 32 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 clusters/noble/bootstrap/headlamp/kustomization.yaml create mode 100644 clusters/noble/bootstrap/headlamp/metrics-clusterrolebinding.yaml diff --git a/clusters/noble/bootstrap/argocd/app-of-apps/headlamp-application.yaml b/clusters/noble/bootstrap/argocd/app-of-apps/headlamp-application.yaml index c4a2749..2fb3ec4 100644 --- a/clusters/noble/bootstrap/argocd/app-of-apps/headlamp-application.yaml +++ b/clusters/noble/bootstrap/argocd/app-of-apps/headlamp-application.yaml @@ -16,6 +16,9 @@ spec: releaseName: headlamp valueFiles: - $values/clusters/noble/bootstrap/headlamp/values.yaml + - repoURL: https://gitea.pcenicni.ca/gsdavidp/home-server.git + targetRevision: HEAD + path: clusters/noble/bootstrap/headlamp - repoURL: https://gitea.pcenicni.ca/gsdavidp/home-server.git targetRevision: HEAD ref: values diff --git a/clusters/noble/bootstrap/headlamp/kustomization.yaml b/clusters/noble/bootstrap/headlamp/kustomization.yaml new file mode 100644 index 0000000..f86d53c --- /dev/null +++ b/clusters/noble/bootstrap/headlamp/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - metrics-clusterrolebinding.yaml diff --git a/clusters/noble/bootstrap/headlamp/metrics-clusterrolebinding.yaml b/clusters/noble/bootstrap/headlamp/metrics-clusterrolebinding.yaml new file mode 100644 index 0000000..4df6185 --- /dev/null +++ b/clusters/noble/bootstrap/headlamp/metrics-clusterrolebinding.yaml @@ -0,0 +1,32 @@ +# Grant Headlamp's ServiceAccount read access to the Kubernetes Metrics API. +# The chart binds headlamp SA to 'edit' (safe default) but 'edit' does not include +# metrics.k8s.io — without this, Headlamp shows no CPU/memory/node data on the dashboard. +# This binding is additive: it does not escalate headlamp beyond 'edit' elsewhere. +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: headlamp-metrics-reader + labels: + app.kubernetes.io/name: headlamp + app.kubernetes.io/managed-by: Helm +rules: + - apiGroups: ["metrics.k8s.io"] + resources: ["nodes", "pods"] + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: headlamp-metrics-reader + labels: + app.kubernetes.io/name: headlamp + app.kubernetes.io/managed-by: Helm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: headlamp-metrics-reader +subjects: + - kind: ServiceAccount + name: headlamp + namespace: headlamp