From 446d3f4e7a0ee9748c6859a54ef291b2a6091a88 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Sun, 20 Oct 2024 13:04:40 +0000 Subject: [PATCH] add truenas and pfsense widgets to homepage [ci skip] --- modules/kubernetes/main.tf | 6 ++- modules/kubernetes/reverse_proxy/main.tf | 49 +++++++++++++++++++++++- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/modules/kubernetes/main.tf b/modules/kubernetes/main.tf index 2fc1bee4..5c61844f 100644 --- a/modules/kubernetes/main.tf +++ b/modules/kubernetes/main.tf @@ -329,8 +329,10 @@ module "vaultwarden" { } module "reverse-proxy" { - source = "./reverse_proxy" - tls_secret_name = var.tls_secret_name + source = "./reverse_proxy" + tls_secret_name = var.tls_secret_name + truenas_homepage_token = var.homepage_credentials["reverse_proxy"]["truenas_token"] + pfsense_homepage_token = var.homepage_credentials["reverse_proxy"]["pfsense_token"] } # Selfhosted Firefox send diff --git a/modules/kubernetes/reverse_proxy/main.tf b/modules/kubernetes/reverse_proxy/main.tf index 44279ddb..0d8fcd6d 100644 --- a/modules/kubernetes/reverse_proxy/main.tf +++ b/modules/kubernetes/reverse_proxy/main.tf @@ -2,6 +2,8 @@ # outside of K8S but would be nice to use the Nginx-ingress variable "tls_secret_name" {} +variable "truenas_homepage_token" {} +variable "pfsense_homepage_token" {} resource "kubernetes_namespace" "reverse-proxy" { metadata { @@ -24,7 +26,24 @@ module "pfsense" { tls_secret_name = var.tls_secret_name port = 443 backend_protocol = "HTTPS" - depends_on = [kubernetes_namespace.reverse-proxy] + + extra_annotations = { + "gethomepage.dev/enabled" : "true" + "gethomepage.dev/description" : "Cluster Firewall" + # gethomepage.dev/group: Media + "gethomepage.dev/icon" : "pfsense.png" + "gethomepage.dev/name" : "pFsense" + "gethomepage.dev/widget.type" : "pfsense" + "gethomepage.dev/widget.version" : "2" + "gethomepage.dev/widget.url" : "https://10.0.20.1" + # "gethomepage.dev/widget.token" = var.homepage_token + "gethomepage.dev/widget.username" : "admin" + "gethomepage.dev/widget.password" : var.pfsense_homepage_token + "gethomepage.dev/widget.fields" = "[\"load\", \"memory\", \"wanStatus\", \"disk\"]" + "gethomepage.dev/widget.wan" = "vmx0" + # "gethomepage.dev/pod-selector" : "" + } + depends_on = [kubernetes_namespace.reverse-proxy] } # https://nas.viktorbarzin.me/ @@ -84,7 +103,20 @@ module "truenas" { port = 80 tls_secret_name = var.tls_secret_name max_body_size = "0m" - depends_on = [kubernetes_namespace.reverse-proxy] + + extra_annotations = { + "gethomepage.dev/enabled" : "true" + "gethomepage.dev/description" : "TrueNAS" + # gethomepage.dev/group: Media + "gethomepage.dev/icon" : "truenas.png" + "gethomepage.dev/name" : "TrueNAS" + "gethomepage.dev/widget.type" : "truenas" + "gethomepage.dev/widget.url" : "https://truenas.viktorbarzin.lan" + "gethomepage.dev/widget.key" : var.truenas_homepage_token + # "gethomepage.dev/widget.enablePools" : "true" + # "gethomepage.dev/pod-selector" : "" + } + depends_on = [kubernetes_namespace.reverse-proxy] } # https://r730.viktorbarzin.me/ @@ -187,4 +219,17 @@ module "london" { backend_protocol = "HTTPS" protected = true depends_on = [kubernetes_namespace.reverse-proxy] + extra_annotations = { + "gethomepage.dev/enabled" : "false" + "gethomepage.dev/description" : "OpenWRT London" + # gethomepage.dev/group: Media + "gethomepage.dev/icon" : "openwrt.png" + "gethomepage.dev/name" : "OpenWRT London" + "gethomepage.dev/widget.type" : "openwrt" + "gethomepage.dev/widget.url" : "https://100.64.0.14" + # "gethomepage.dev/widget.token" = var.homepage_token + "gethomepage.dev/widget.username" : "homepage" + "gethomepage.dev/widget.password" : "" # add later as Flint2's openwrt is a little odd + "gethomepage.dev/pod-selector" : "" + } }