[ci skip] add Homepage gethomepage.dev annotations to all services

Add Kubernetes ingress annotations for Homepage auto-discovery across
~88 services organized into 11 groups. Enable serviceAccount for RBAC,
configure group layouts, and add Grafana/Frigate/Speedtest widgets.
This commit is contained in:
Viktor Barzin 2026-03-07 16:41:36 +00:00
parent cf386e06cd
commit 6bd3970579
76 changed files with 722 additions and 95 deletions

View file

@ -14,6 +14,10 @@ variable "budget_encryption_password" {
sensitive = true
}
variable "nfs_server" { type = string }
variable "homepage_annotations" {
type = map(string)
default = {}
}
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
@ -103,6 +107,7 @@ module "ingress" {
name = "budget-${var.name}"
tls_secret_name = var.tls_secret_name
rybbit_site_id = "3e6b6b68088a"
extra_annotations = var.homepage_annotations
}

View file

@ -44,6 +44,14 @@ module "viktor" {
tier = local.tiers.edge
budget_encryption_password = lookup(var.actualbudget_credentials["viktor"], "password", null)
sync_id = lookup(var.actualbudget_credentials["viktor"], "sync_id", null)
homepage_annotations = {
"gethomepage.dev/enabled" = "true"
"gethomepage.dev/name" = "Budget Viktor"
"gethomepage.dev/description" = "Personal budget"
"gethomepage.dev/icon" = "actual-budget.png"
"gethomepage.dev/group" = "Finance & Personal"
"gethomepage.dev/pod-selector" = ""
}
}
# https://budget-anca.viktorbarzin.me/
@ -57,6 +65,14 @@ module "anca" {
tier = local.tiers.edge
budget_encryption_password = lookup(var.actualbudget_credentials["anca"], "password", null)
sync_id = lookup(var.actualbudget_credentials["anca"], "sync_id", null)
homepage_annotations = {
"gethomepage.dev/enabled" = "true"
"gethomepage.dev/name" = "Budget Anca"
"gethomepage.dev/description" = "Personal budget"
"gethomepage.dev/icon" = "actual-budget.png"
"gethomepage.dev/group" = "Finance & Personal"
"gethomepage.dev/pod-selector" = ""
}
}
# https://budget-emo.viktorbarzin.me/
@ -70,4 +86,12 @@ module "emo" {
tier = local.tiers.edge
budget_encryption_password = lookup(var.actualbudget_credentials["emo"], "password", null)
sync_id = lookup(var.actualbudget_credentials["emo"], "sync_id", null)
homepage_annotations = {
"gethomepage.dev/enabled" = "true"
"gethomepage.dev/name" = "Budget Emo"
"gethomepage.dev/description" = "Personal budget"
"gethomepage.dev/icon" = "actual-budget.png"
"gethomepage.dev/group" = "Finance & Personal"
"gethomepage.dev/pod-selector" = ""
}
}