[ci skip] add widgets for qbittorrent, navidrome, nextcloud, freshrss, linkwarden, uptime-kuma
Add API credentials to SOPS and wire homepage_credentials through stacks. Re-add Uptime Kuma widget with new "infra" status page slug.
This commit is contained in:
parent
f9efa902ef
commit
2ebbf364d1
8 changed files with 289 additions and 222 deletions
File diff suppressed because one or more lines are too long
|
|
@ -3,6 +3,10 @@ variable "tls_secret_name" {
|
|||
sensitive = true
|
||||
}
|
||||
variable "nfs_server" { type = string }
|
||||
variable "homepage_credentials" {
|
||||
type = map(any)
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
||||
module "tls_secret" {
|
||||
|
|
@ -148,11 +152,15 @@ module "ingress" {
|
|||
service_name = "freshrss"
|
||||
tls_secret_name = var.tls_secret_name
|
||||
extra_annotations = {
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "FreshRSS"
|
||||
"gethomepage.dev/description" = "RSS feed reader"
|
||||
"gethomepage.dev/icon" = "freshrss.png"
|
||||
"gethomepage.dev/group" = "Productivity"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "FreshRSS"
|
||||
"gethomepage.dev/description" = "RSS feed reader"
|
||||
"gethomepage.dev/icon" = "freshrss.png"
|
||||
"gethomepage.dev/group" = "Productivity"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "freshrss"
|
||||
"gethomepage.dev/widget.url" = "http://freshrss.freshrss.svc.cluster.local"
|
||||
"gethomepage.dev/widget.username" = var.homepage_credentials["freshrss"]["username"]
|
||||
"gethomepage.dev/widget.password" = var.homepage_credentials["freshrss"]["password"]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ variable "linkwarden_authentik_client_secret" {
|
|||
sensitive = true
|
||||
}
|
||||
variable "postgresql_host" { type = string }
|
||||
variable "homepage_credentials" {
|
||||
type = map(any)
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_namespace" "linkwarden" {
|
||||
|
|
@ -148,5 +152,8 @@ module "ingress" {
|
|||
"gethomepage.dev/icon" = "linkwarden.png"
|
||||
"gethomepage.dev/group" = "Productivity"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "linkwarden"
|
||||
"gethomepage.dev/widget.url" = "http://linkwarden.linkwarden.svc.cluster.local:3000"
|
||||
"gethomepage.dev/widget.key" = var.homepage_credentials["linkwarden"]["api_key"]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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" "navidrome" {
|
||||
|
|
@ -159,5 +163,10 @@ module "ingress" {
|
|||
"gethomepage.dev/icon" = "navidrome.png"
|
||||
"gethomepage.dev/group" = "Media & Entertainment"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "navidrome"
|
||||
"gethomepage.dev/widget.url" = "http://navidrome.navidrome.svc.cluster.local:4533"
|
||||
"gethomepage.dev/widget.user" = var.homepage_credentials["navidrome"]["user"]
|
||||
"gethomepage.dev/widget.token" = var.homepage_credentials["navidrome"]["token"]
|
||||
"gethomepage.dev/widget.salt" = var.homepage_credentials["navidrome"]["salt"]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ variable "nextcloud_db_password" {
|
|||
variable "nfs_server" { type = string }
|
||||
variable "redis_host" { type = string }
|
||||
variable "mysql_host" { type = string }
|
||||
variable "homepage_credentials" {
|
||||
type = map(any)
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
||||
module "tls_secret" {
|
||||
|
|
@ -191,12 +195,16 @@ module "ingress" {
|
|||
port = 8080
|
||||
rybbit_site_id = "5a3bfe59a3fe"
|
||||
extra_annotations = {
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "Nextcloud"
|
||||
"gethomepage.dev/description" = "Cloud productivity suite"
|
||||
"gethomepage.dev/icon" = "nextcloud.png"
|
||||
"gethomepage.dev/group" = "Productivity"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "Nextcloud"
|
||||
"gethomepage.dev/description" = "Cloud productivity suite"
|
||||
"gethomepage.dev/icon" = "nextcloud.png"
|
||||
"gethomepage.dev/group" = "Productivity"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "nextcloud"
|
||||
"gethomepage.dev/widget.url" = "http://nextcloud.nextcloud.svc.cluster.local"
|
||||
"gethomepage.dev/widget.username" = var.homepage_credentials["nextcloud"]["username"]
|
||||
"gethomepage.dev/widget.password" = var.homepage_credentials["nextcloud"]["password"]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -152,6 +152,9 @@ module "ingress" {
|
|||
"gethomepage.dev/icon" : "uptime-kuma.png"
|
||||
"gethomepage.dev/name" = "Uptime Kuma"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "uptimekuma"
|
||||
"gethomepage.dev/widget.url" = "http://uptime-kuma.uptime-kuma.svc.cluster.local:3001"
|
||||
"gethomepage.dev/widget.slug" = "infra"
|
||||
}
|
||||
rybbit_site_id = "8fef77b1f7fe"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,10 +41,11 @@ module "prowlarr" {
|
|||
}
|
||||
|
||||
module "qbittorrent" {
|
||||
source = "./qbittorrent"
|
||||
tls_secret_name = var.tls_secret_name
|
||||
tier = local.tiers.aux
|
||||
nfs_server = var.nfs_server
|
||||
source = "./qbittorrent"
|
||||
tls_secret_name = var.tls_secret_name
|
||||
tier = local.tiers.aux
|
||||
nfs_server = var.nfs_server
|
||||
homepage_credentials = var.homepage_credentials
|
||||
}
|
||||
|
||||
module "flaresolverr" {
|
||||
|
|
|
|||
|
|
@ -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" {
|
||||
|
|
@ -156,11 +160,15 @@ module "ingress" {
|
|||
tls_secret_name = var.tls_secret_name
|
||||
protected = true
|
||||
extra_annotations = {
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "qBittorrent"
|
||||
"gethomepage.dev/description" = "BitTorrent client"
|
||||
"gethomepage.dev/icon" = "qbittorrent.png"
|
||||
"gethomepage.dev/group" = "Media & Entertainment"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/enabled" = "true"
|
||||
"gethomepage.dev/name" = "qBittorrent"
|
||||
"gethomepage.dev/description" = "BitTorrent client"
|
||||
"gethomepage.dev/icon" = "qbittorrent.png"
|
||||
"gethomepage.dev/group" = "Media & Entertainment"
|
||||
"gethomepage.dev/pod-selector" = ""
|
||||
"gethomepage.dev/widget.type" = "qbittorrent"
|
||||
"gethomepage.dev/widget.url" = "http://qbittorrent.servarr.svc.cluster.local:8080"
|
||||
"gethomepage.dev/widget.username" = var.homepage_credentials["qbittorrent"]["username"]
|
||||
"gethomepage.dev/widget.password" = var.homepage_credentials["qbittorrent"]["password"]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue