[ci skip] add widgets for audiobookshelf, changedetection, prowlarr, headscale

Wire homepage_credentials through servarr parent stack for prowlarr.
Fix paperless-ngx widget to use internal service URL.
This commit is contained in:
Viktor Barzin 2026-03-07 17:42:05 +00:00
parent 1f1700c4ff
commit 10acdcd5a2
7 changed files with 40 additions and 5 deletions

View file

@ -3,6 +3,10 @@ variable "tls_secret_name" {
sensitive = true
}
variable "nfs_server" { type = string }
variable "homepage_credentials" {
type = map(any)
sensitive = true
}
resource "kubernetes_namespace" "audiobookshelf" {
@ -200,5 +204,8 @@ module "ingress" {
"gethomepage.dev/icon" = "audiobookshelf.png"
"gethomepage.dev/group" = "Media & Entertainment"
"gethomepage.dev/pod-selector" = ""
"gethomepage.dev/widget.type" = "audiobookshelf"
"gethomepage.dev/widget.url" = "http://audiobookshelf.audiobookshelf.svc.cluster.local"
"gethomepage.dev/widget.key" = var.homepage_credentials["audiobookshelf"]["token"]
}
}

View file

@ -3,6 +3,10 @@ variable "tls_secret_name" {
sensitive = true
}
variable "nfs_server" { type = string }
variable "homepage_credentials" {
type = map(any)
sensitive = true
}
resource "kubernetes_namespace" "changedetection" {
@ -167,5 +171,8 @@ module "ingress" {
"gethomepage.dev/icon" = "changedetection-io.png"
"gethomepage.dev/group" = "Automation"
"gethomepage.dev/pod-selector" = ""
"gethomepage.dev/widget.type" = "changedetectionio"
"gethomepage.dev/widget.url" = "http://changedetection.changedetection.svc.cluster.local:5000"
"gethomepage.dev/widget.key" = var.homepage_credentials["changedetection"]["api_key"]
}
}

View file

@ -190,7 +190,7 @@ module "ingress" {
"gethomepage.dev/icon" : "paperless-ngx.png"
"gethomepage.dev/name" = "Paperless-ngx"
"gethomepage.dev/widget.type" = "paperlessngx"
"gethomepage.dev/widget.url" = "https://pdf.viktorbarzin.me"
"gethomepage.dev/widget.url" = "http://paperless-ngx.paperless-ngx.svc.cluster.local"
# "gethomepage.dev/widget.token" = var.homepage_token
"gethomepage.dev/widget.username" = var.homepage_credentials["paperless-ngx"]["username"]
"gethomepage.dev/widget.password" = var.homepage_credentials["paperless-ngx"]["password"]

View file

@ -287,6 +287,7 @@ module "headscale" {
nfs_server = var.nfs_server
headscale_config = var.headscale_config
headscale_acl = var.headscale_acl
homepage_token = try(var.homepage_credentials["headscale"]["api_key"], "")
tier = local.tiers.core
}

View file

@ -4,6 +4,11 @@ variable "tier" { type = string }
variable "headscale_config" {}
variable "headscale_acl" {}
variable "nfs_server" { type = string }
variable "homepage_token" {
type = string
default = ""
sensitive = true
}
resource "kubernetes_namespace" "headscale" {
metadata {
@ -258,6 +263,9 @@ module "ingress" {
"gethomepage.dev/icon" = "headscale.png"
"gethomepage.dev/group" = "Identity & Security"
"gethomepage.dev/pod-selector" = ""
"gethomepage.dev/widget.type" = "headscale"
"gethomepage.dev/widget.url" = "http://headscale.headscale.svc.cluster.local:8080"
"gethomepage.dev/widget.key" = var.homepage_token
}
}

View file

@ -4,6 +4,10 @@ variable "tls_secret_name" {
}
variable "aiostreams_database_connection_string" { type = string }
variable "nfs_server" { type = string }
variable "homepage_credentials" {
type = map(any)
sensitive = true
}
resource "kubernetes_namespace" "servarr" {
@ -29,10 +33,11 @@ module "tls_secret" {
# }
module "prowlarr" {
source = "./prowlarr"
tls_secret_name = var.tls_secret_name
tier = local.tiers.aux
nfs_server = var.nfs_server
source = "./prowlarr"
tls_secret_name = var.tls_secret_name
tier = local.tiers.aux
nfs_server = var.nfs_server
homepage_credentials = var.homepage_credentials
}
module "qbittorrent" {

View file

@ -1,6 +1,10 @@
variable "tls_secret_name" {}
variable "tier" { type = string }
variable "nfs_server" { type = string }
variable "homepage_credentials" {
type = map(any)
sensitive = true
}
module "nfs_data" {
@ -129,5 +133,8 @@ module "ingress" {
"gethomepage.dev/icon" = "prowlarr.png"
"gethomepage.dev/group" = "Media & Entertainment"
"gethomepage.dev/pod-selector" = ""
"gethomepage.dev/widget.type" = "prowlarr"
"gethomepage.dev/widget.url" = "http://prowlarr.servarr.svc.cluster.local"
"gethomepage.dev/widget.key" = var.homepage_credentials["prowlarr"]["api_key"]
}
}