129 lines
4.9 KiB
YAML
129 lines
4.9 KiB
YAML
# Homepage — [gethomepage/homepage](https://github.com/gethomepage/homepage) via [jameswynn/homepage](https://github.com/jameswynn/helm-charts) Helm chart.
|
||
# Ingress: Traefik + cert-manager (same pattern as `clusters/noble/bootstrap/headlamp/values.yaml`).
|
||
# Service links match **`ansible/roles/noble_landing_urls/defaults/main.yml`** (`noble_lab_ui_entries`).
|
||
# **Velero** has no in-cluster web UI — tile links to upstream docs (no **siteMonitor**).
|
||
#
|
||
# **`siteMonitor`** runs **server-side** in the Homepage pod (see `gethomepage/homepage` `siteMonitor.js`).
|
||
# Public FQDNs like **`*.apps.noble.lab.pcenicni.dev`** often do **not** resolve inside the cluster
|
||
# (split-horizon / LAN DNS only) → `ENOTFOUND` / HTTP **500** in the monitor. Use **in-cluster Service**
|
||
# URLs for **`siteMonitor`** only; **`href`** stays the human-facing ingress URL.
|
||
#
|
||
# **Prometheus widget** also resolves from the pod — use the real **Service** name (Helm may truncate to
|
||
# 63 chars — this repo’s generated UI list uses **`kube-prometheus-kube-prome-prometheus`**).
|
||
# Verify: `kubectl -n monitoring get svc | grep -E 'prometheus|alertmanager|grafana'`.
|
||
#
|
||
image:
|
||
repository: ghcr.io/gethomepage/homepage
|
||
tag: v1.2.0
|
||
|
||
enableRbac: true
|
||
|
||
serviceAccount:
|
||
create: true
|
||
|
||
ingress:
|
||
main:
|
||
enabled: true
|
||
ingressClassName: traefik
|
||
annotations:
|
||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||
hosts:
|
||
- host: homepage.apps.noble.lab.pcenicni.dev
|
||
paths:
|
||
- path: /
|
||
pathType: Prefix
|
||
tls:
|
||
- hosts:
|
||
- homepage.apps.noble.lab.pcenicni.dev
|
||
secretName: homepage-apps-noble-tls
|
||
|
||
env:
|
||
- name: HOMEPAGE_ALLOWED_HOSTS
|
||
value: homepage.apps.noble.lab.pcenicni.dev
|
||
|
||
config:
|
||
bookmarks: []
|
||
services:
|
||
- Noble Lab:
|
||
- Argo CD:
|
||
icon: si-argocd
|
||
href: https://argo.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://argocd-server.argocd.svc.cluster.local:80
|
||
description: GitOps UI (sync, apps, repos)
|
||
- Grafana:
|
||
icon: si-grafana
|
||
href: https://grafana.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://kube-prometheus-grafana.monitoring.svc.cluster.local:80
|
||
description: Dashboards, Loki explore (logs)
|
||
- Prometheus:
|
||
icon: si-prometheus
|
||
href: https://prometheus.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://kube-prometheus-kube-prome-prometheus.monitoring.svc.cluster.local:9090
|
||
description: Prometheus UI (queries, targets) — lab; protect in production
|
||
widget:
|
||
type: prometheus
|
||
url: http://kube-prometheus-kube-prome-prometheus.monitoring.svc.cluster.local:9090
|
||
fields: ["targets_up", "targets_down", "targets_total"]
|
||
- Alertmanager:
|
||
icon: alertmanager.png
|
||
href: https://alertmanager.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://kube-prometheus-kube-prome-alertmanager.monitoring.svc.cluster.local:9093
|
||
description: Alertmanager UI (silences, status)
|
||
- Headlamp:
|
||
icon: mdi-kubernetes
|
||
href: https://headlamp.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://headlamp.headlamp.svc.cluster.local:80
|
||
description: Kubernetes UI (cluster resources)
|
||
- Longhorn:
|
||
icon: longhorn.png
|
||
href: https://longhorn.apps.noble.lab.pcenicni.dev
|
||
siteMonitor: http://longhorn-frontend.longhorn-system.svc.cluster.local:80
|
||
description: Storage volumes, nodes, backups
|
||
- Vault:
|
||
icon: si-vault
|
||
href: https://vault.apps.noble.lab.pcenicni.dev
|
||
# Unauthenticated health (HEAD/GET) — not the redirecting UI root
|
||
siteMonitor: http://vault.vault.svc.cluster.local:8200/v1/sys/health?standbyok=true&sealedcode=204&uninitcode=204
|
||
description: Secrets engine UI (after init/unseal)
|
||
- Velero:
|
||
icon: mdi-backup-restore
|
||
href: https://velero.io/docs/
|
||
description: Cluster backups — no in-cluster web UI; use velero CLI or kubectl (docs)
|
||
widgets:
|
||
- datetime:
|
||
text_size: xl
|
||
format:
|
||
dateStyle: medium
|
||
timeStyle: short
|
||
- kubernetes:
|
||
cluster:
|
||
show: true
|
||
cpu: true
|
||
memory: true
|
||
showLabel: true
|
||
label: Cluster
|
||
nodes:
|
||
show: true
|
||
cpu: true
|
||
memory: true
|
||
showLabel: true
|
||
- search:
|
||
provider: duckduckgo
|
||
target: _blank
|
||
kubernetes:
|
||
mode: cluster
|
||
settingsString: |
|
||
title: Noble Lab
|
||
description: Homelab services — in-cluster uptime checks, cluster resources, Prometheus targets
|
||
theme: dark
|
||
color: slate
|
||
headerStyle: boxedWidgets
|
||
statusStyle: dot
|
||
iconStyle: theme
|
||
fullWidth: true
|
||
useEqualHeights: true
|
||
layout:
|
||
Noble Lab:
|
||
style: row
|
||
columns: 4
|