{
  "cluster": "atlas",
  "sources": [
    {
      "name": "ai-llm",
      "path": "services/ai-llm",
      "targetNamespace": "ai"
    },
    {
      "name": "bstein-dev-home",
      "path": "services/bstein-dev-home",
      "targetNamespace": "bstein-dev-home"
    },
    {
      "name": "bstein-dev-home-migrations",
      "path": "services/bstein-dev-home/migrations",
      "targetNamespace": "bstein-dev-home"
    },
    {
      "name": "cert-manager",
      "path": "infrastructure/cert-manager",
      "targetNamespace": "cert-manager"
    },
    {
      "name": "cert-manager-cleanup",
      "path": "infrastructure/cert-manager/cleanup",
      "targetNamespace": "cert-manager"
    },
    {
      "name": "comms",
      "path": "services/comms",
      "targetNamespace": "comms"
    },
    {
      "name": "core",
      "path": "infrastructure/core",
      "targetNamespace": null
    },
    {
      "name": "crypto",
      "path": "services/crypto",
      "targetNamespace": "crypto"
    },
    {
      "name": "finance",
      "path": "services/finance",
      "targetNamespace": "finance"
    },
    {
      "name": "flux-system",
      "path": "clusters/atlas/flux-system",
      "targetNamespace": null
    },
    {
      "name": "gitea",
      "path": "services/gitea",
      "targetNamespace": "gitea"
    },
    {
      "name": "gitops-ui",
      "path": "services/gitops-ui",
      "targetNamespace": "flux-system"
    },
    {
      "name": "harbor",
      "path": "services/harbor",
      "targetNamespace": "harbor"
    },
    {
      "name": "health",
      "path": "services/health",
      "targetNamespace": "health"
    },
    {
      "name": "helm",
      "path": "infrastructure/sources/helm",
      "targetNamespace": "flux-system"
    },
    {
      "name": "jellyfin",
      "path": "services/jellyfin",
      "targetNamespace": "jellyfin"
    },
    {
      "name": "jenkins",
      "path": "services/jenkins",
      "targetNamespace": "jenkins"
    },
    {
      "name": "keycloak",
      "path": "services/keycloak",
      "targetNamespace": "sso"
    },
    {
      "name": "logging",
      "path": "services/logging",
      "targetNamespace": null
    },
    {
      "name": "longhorn",
      "path": "infrastructure/longhorn/core",
      "targetNamespace": "longhorn-system"
    },
    {
      "name": "longhorn-adopt",
      "path": "infrastructure/longhorn/adopt",
      "targetNamespace": "longhorn-system"
    },
    {
      "name": "longhorn-ui",
      "path": "infrastructure/longhorn/ui-ingress",
      "targetNamespace": "longhorn-system"
    },
    {
      "name": "mailu",
      "path": "services/mailu",
      "targetNamespace": "mailu-mailserver"
    },
    {
      "name": "maintenance",
      "path": "services/maintenance",
      "targetNamespace": null
    },
    {
      "name": "metallb",
      "path": "infrastructure/metallb",
      "targetNamespace": "metallb-system"
    },
    {
      "name": "monerod",
      "path": "services/crypto/monerod",
      "targetNamespace": "crypto"
    },
    {
      "name": "monitoring",
      "path": "services/monitoring",
      "targetNamespace": null
    },
    {
      "name": "nextcloud",
      "path": "services/nextcloud",
      "targetNamespace": "nextcloud"
    },
    {
      "name": "nextcloud-mail-sync",
      "path": "services/nextcloud-mail-sync",
      "targetNamespace": "nextcloud"
    },
    {
      "name": "oauth2-proxy",
      "path": "services/oauth2-proxy",
      "targetNamespace": "sso"
    },
    {
      "name": "openldap",
      "path": "services/openldap",
      "targetNamespace": "sso"
    },
    {
      "name": "outline",
      "path": "services/outline",
      "targetNamespace": "outline"
    },
    {
      "name": "pegasus",
      "path": "services/pegasus",
      "targetNamespace": "jellyfin"
    },
    {
      "name": "planka",
      "path": "services/planka",
      "targetNamespace": "planka"
    },
    {
      "name": "postgres",
      "path": "infrastructure/postgres",
      "targetNamespace": "postgres"
    },
    {
      "name": "sui-metrics",
      "path": "services/sui-metrics/overlays/atlas",
      "targetNamespace": "sui-metrics"
    },
    {
      "name": "traefik",
      "path": "infrastructure/traefik",
      "targetNamespace": "traefik"
    },
    {
      "name": "vault",
      "path": "services/vault",
      "targetNamespace": "vault"
    },
    {
      "name": "vault-csi",
      "path": "infrastructure/vault-csi",
      "targetNamespace": "kube-system"
    },
    {
      "name": "vault-injector",
      "path": "infrastructure/vault-injector",
      "targetNamespace": "vault"
    },
    {
      "name": "vaultwarden",
      "path": "services/vaultwarden",
      "targetNamespace": "vaultwarden"
    },
    {
      "name": "wallet-monero-temp",
      "path": "services/crypto/wallet-monero-temp",
      "targetNamespace": "crypto"
    },
    {
      "name": "xmr-miner",
      "path": "services/crypto/xmr-miner",
      "targetNamespace": "crypto"
    }
  ],
  "workloads": [
    {
      "kind": "Deployment",
      "namespace": "ai",
      "name": "ollama",
      "labels": {
        "app": "ollama"
      },
      "serviceAccountName": null,
      "nodeSelector": {},
      "images": [
        "ollama/ollama@sha256:2c9595c555fd70a28363489ac03bd5bf9e7c5bdf2890373c3a830ffd7252ce6d"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "bstein-dev-home",
      "name": "bstein-dev-home-backend",
      "labels": {
        "app": "bstein-dev-home-backend"
      },
      "serviceAccountName": "bstein-dev-home",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/bstein/bstein-dev-home-backend:0.1.1-157"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "bstein-dev-home",
      "name": "bstein-dev-home-frontend",
      "labels": {
        "app": "bstein-dev-home-frontend"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/bstein/bstein-dev-home-frontend:0.1.1-157"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "bstein-dev-home",
      "name": "bstein-dev-home-vault-sync",
      "labels": {
        "app": "bstein-dev-home-vault-sync"
      },
      "serviceAccountName": "bstein-dev-home-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "bstein-dev-home",
      "name": "chat-ai-gateway",
      "labels": {
        "app": "chat-ai-gateway"
      },
      "serviceAccountName": "bstein-dev-home",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "python:3.11-slim"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "atlasbot",
      "labels": {
        "app": "atlasbot"
      },
      "serviceAccountName": "atlasbot",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "python:3.11-slim"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "comms-vault-sync",
      "labels": {
        "app": "comms-vault-sync"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "coturn",
      "labels": {
        "app": "coturn"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "ghcr.io/coturn/coturn:4.6.2"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "element-call",
      "labels": {
        "app": "element-call"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "ghcr.io/element-hq/element-call@sha256:e6897c7818331714eae19d83ef8ea94a8b41115f0d8d3f62c2fed2d02c65c9bc"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "livekit",
      "labels": {
        "app": "livekit"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "livekit/livekit-server:v1.9.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "livekit-token-service",
      "labels": {
        "app": "livekit-token-service"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "registry.bstein.dev/tools/lk-jwt-service-vault:0.3.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "matrix-authentication-service",
      "labels": {
        "app": "matrix-authentication-service"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "ghcr.io/element-hq/matrix-authentication-service:1.8.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "matrix-guest-register",
      "labels": {
        "app.kubernetes.io/name": "matrix-guest-register"
      },
      "serviceAccountName": "comms-vault",
      "nodeSelector": {},
      "images": [
        "python:3.11-slim"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "comms",
      "name": "matrix-wellknown",
      "labels": {
        "app": "matrix-wellknown"
      },
      "serviceAccountName": null,
      "nodeSelector": {},
      "images": [
        "nginx:1.27-alpine"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "crypto",
      "name": "monero-xmrig",
      "labels": {
        "app": "monero-xmrig"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "ghcr.io/tari-project/xmrig@sha256:80defbfd0b640d604c91cb5101d3642db7928e1e68ee3c6b011289b3565a39d9"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "crypto",
      "name": "crypto-vault-sync",
      "labels": {
        "app": "crypto-vault-sync"
      },
      "serviceAccountName": "crypto-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "crypto",
      "name": "monero-p2pool",
      "labels": {
        "app": "monero-p2pool"
      },
      "serviceAccountName": "crypto-vault-sync",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "debian:bookworm-slim"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "crypto",
      "name": "monerod",
      "labels": {
        "app": "monerod"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/crypto/monerod:0.18.4.1"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "crypto",
      "name": "wallet-monero-temp",
      "labels": {
        "app": "wallet-monero-temp"
      },
      "serviceAccountName": "crypto-vault-sync",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/crypto/monero-wallet-rpc:0.18.4.1"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "finance",
      "name": "actual-budget",
      "labels": {
        "app": "actual-budget"
      },
      "serviceAccountName": "finance-vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "actualbudget/actual-server:26.1.0-alpine@sha256:34aae5813fdfee12af2a50c4d0667df68029f1d61b90f45f282473273eb70d0d"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "finance",
      "name": "firefly",
      "labels": {
        "app": "firefly"
      },
      "serviceAccountName": "finance-vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "fireflyiii/core:version-6.4.15"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "helm-controller",
      "labels": {
        "app": "helm-controller",
        "app.kubernetes.io/component": "helm-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "helm-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/helm-controller:v1.4.5"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "image-automation-controller",
      "labels": {
        "app": "image-automation-controller",
        "app.kubernetes.io/component": "image-automation-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "image-automation-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/image-automation-controller:v1.0.4"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "image-reflector-controller",
      "labels": {
        "app": "image-reflector-controller",
        "app.kubernetes.io/component": "image-reflector-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "image-reflector-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/image-reflector-controller:v1.0.4"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "kustomize-controller",
      "labels": {
        "app": "kustomize-controller",
        "app.kubernetes.io/component": "kustomize-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "kustomize-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/kustomize-controller:v1.7.3"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "notification-controller",
      "labels": {
        "app": "notification-controller",
        "app.kubernetes.io/component": "notification-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "notification-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/notification-controller:v1.7.5"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "flux-system",
      "name": "source-controller",
      "labels": {
        "app": "source-controller",
        "app.kubernetes.io/component": "source-controller",
        "app.kubernetes.io/instance": "flux-system",
        "app.kubernetes.io/part-of": "flux",
        "app.kubernetes.io/version": "v2.7.5"
      },
      "serviceAccountName": "source-controller",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "ghcr.io/fluxcd/source-controller:v1.7.4"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "gitea",
      "name": "gitea",
      "labels": {
        "app": "gitea"
      },
      "serviceAccountName": "gitea-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "gitea/gitea:1.23"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "harbor",
      "name": "harbor-vault-sync",
      "labels": {
        "app": "harbor-vault-sync"
      },
      "serviceAccountName": "harbor-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "health",
      "name": "wger",
      "labels": {
        "app": "wger"
      },
      "serviceAccountName": "health-vault-sync",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "nginx:1.27.5-alpine@sha256:65645c7bb6a0661892a8b03b89d0743208a18dd2f3f17a54ef4b76fb8e2f2a10",
        "wger/server@sha256:710588b78af4e0aa0b4d8a8061e4563e16eae80eeaccfe7f9e0d9cbdd7f0cbc5"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "jellyfin",
      "name": "jellyfin",
      "labels": {
        "app": "jellyfin"
      },
      "serviceAccountName": "pegasus-vault-sync",
      "nodeSelector": {},
      "images": [
        "docker.io/jellyfin/jellyfin:10.11.5"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "jellyfin",
      "name": "pegasus",
      "labels": {
        "app": "pegasus"
      },
      "serviceAccountName": "pegasus-vault-sync",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "alpine:3.20",
        "registry.bstein.dev/streaming/pegasus-vault:1.2.32"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "jellyfin",
      "name": "pegasus-vault-sync",
      "labels": {
        "app": "pegasus-vault-sync"
      },
      "serviceAccountName": "pegasus-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "jenkins",
      "name": "jenkins",
      "labels": {
        "app": "jenkins"
      },
      "serviceAccountName": "jenkins",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "jenkins/jenkins:2.528.3-jdk21"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "jenkins",
      "name": "jenkins-vault-sync",
      "labels": {
        "app": "jenkins-vault-sync"
      },
      "serviceAccountName": "jenkins-vault-sync",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "kube-system",
      "name": "ntp-sync",
      "labels": {
        "app": "ntp-sync"
      },
      "serviceAccountName": null,
      "nodeSelector": {},
      "images": [
        "public.ecr.aws/docker/library/busybox:1.36.1"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "kube-system",
      "name": "nvidia-device-plugin-jetson",
      "labels": {
        "app.kubernetes.io/instance": "jetson",
        "app.kubernetes.io/name": "nvidia-device-plugin"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "jetson": "true",
        "kubernetes.io/arch": "arm64"
      },
      "images": [
        "nvcr.io/nvidia/k8s-device-plugin:v0.16.2"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "kube-system",
      "name": "nvidia-device-plugin-minipc",
      "labels": {
        "app.kubernetes.io/instance": "titan22",
        "app.kubernetes.io/name": "nvidia-device-plugin"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "kubernetes.io/arch": "amd64",
        "kubernetes.io/hostname": "titan-22"
      },
      "images": [
        "nvcr.io/nvidia/k8s-device-plugin:v0.16.2"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "kube-system",
      "name": "nvidia-device-plugin-tethys",
      "labels": {
        "app.kubernetes.io/instance": "titan24",
        "app.kubernetes.io/name": "nvidia-device-plugin"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "kubernetes.io/arch": "amd64",
        "kubernetes.io/hostname": "titan-24"
      },
      "images": [
        "nvcr.io/nvidia/k8s-device-plugin:v0.16.2"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "kube-system",
      "name": "vault-csi-provider",
      "labels": {
        "app.kubernetes.io/name": "vault-csi-provider"
      },
      "serviceAccountName": "vault-csi-provider",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "hashicorp/vault-csi-provider:1.7.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "kube-system",
      "name": "coredns",
      "labels": {
        "k8s-app": "kube-dns"
      },
      "serviceAccountName": "coredns",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "registry.bstein.dev/infra/coredns:1.12.1"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "logging",
      "name": "node-image-gc-rpi4",
      "labels": {
        "app": "node-image-gc-rpi4"
      },
      "serviceAccountName": "node-image-gc-rpi4",
      "nodeSelector": {
        "hardware": "rpi4"
      },
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "logging",
      "name": "node-image-prune-rpi5",
      "labels": {
        "app": "node-image-prune-rpi5"
      },
      "serviceAccountName": "node-image-prune-rpi5",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "logging",
      "name": "node-log-rotation",
      "labels": {
        "app": "node-log-rotation"
      },
      "serviceAccountName": "node-log-rotation",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "logging",
      "name": "logging-vault-sync",
      "labels": {
        "app": "logging-vault-sync"
      },
      "serviceAccountName": "logging-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "logging",
      "name": "oauth2-proxy-logs",
      "labels": {
        "app": "oauth2-proxy-logs"
      },
      "serviceAccountName": "logging-vault-sync",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/tools/oauth2-proxy-vault:v7.6.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "longhorn-system",
      "name": "longhorn-vault-sync",
      "labels": {
        "app": "longhorn-vault-sync"
      },
      "serviceAccountName": "longhorn-vault-sync",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "longhorn-system",
      "name": "oauth2-proxy-longhorn",
      "labels": {
        "app": "oauth2-proxy-longhorn"
      },
      "serviceAccountName": "longhorn-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "quay.io/oauth2-proxy/oauth2-proxy:v7.6.0"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "mailu-mailserver",
      "name": "vip-controller",
      "labels": {
        "app": "vip-controller"
      },
      "serviceAccountName": "vip-controller",
      "nodeSelector": {
        "mailu.bstein.dev/vip": "true"
      },
      "images": [
        "registry.bstein.dev/bstein/kubectl:1.35.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "mailu-mailserver",
      "name": "mailu-vault-sync",
      "labels": {
        "app": "mailu-vault-sync"
      },
      "serviceAccountName": "mailu-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "maintenance",
      "name": "disable-k3s-traefik",
      "labels": {
        "app": "disable-k3s-traefik"
      },
      "serviceAccountName": "disable-k3s-traefik",
      "nodeSelector": {
        "node-role.kubernetes.io/control-plane": "true"
      },
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "maintenance",
      "name": "k3s-agent-restart",
      "labels": {
        "app": "k3s-agent-restart"
      },
      "serviceAccountName": "node-nofile",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "maintenance",
      "name": "node-image-sweeper",
      "labels": {
        "app": "node-image-sweeper"
      },
      "serviceAccountName": "node-image-sweeper",
      "nodeSelector": {
        "kubernetes.io/os": "linux"
      },
      "images": [
        "python:3.12.9-alpine3.20"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "maintenance",
      "name": "node-nofile",
      "labels": {
        "app": "node-nofile"
      },
      "serviceAccountName": "node-nofile",
      "nodeSelector": {},
      "images": [
        "bitnami/kubectl@sha256:554ab88b1858e8424c55de37ad417b16f2a0e65d1607aa0f3fe3ce9b9f10b131"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "maintenance",
      "name": "ariadne",
      "labels": {
        "app": "ariadne"
      },
      "serviceAccountName": "ariadne",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/bstein/ariadne:0.1.0-49"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "maintenance",
      "name": "maintenance-vault-sync",
      "labels": {
        "app": "maintenance-vault-sync"
      },
      "serviceAccountName": "maintenance-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "monitoring",
      "name": "dcgm-exporter",
      "labels": {
        "app": "dcgm-exporter"
      },
      "serviceAccountName": "default",
      "nodeSelector": {},
      "images": [
        "registry.bstein.dev/monitoring/dcgm-exporter:4.4.2-4.7.0-ubuntu22.04"
      ]
    },
    {
      "kind": "DaemonSet",
      "namespace": "monitoring",
      "name": "jetson-tegrastats-exporter",
      "labels": {
        "app": "jetson-tegrastats-exporter"
      },
      "serviceAccountName": "default",
      "nodeSelector": {
        "jetson": "true"
      },
      "images": [
        "python:3.10-slim"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "monitoring",
      "name": "monitoring-vault-sync",
      "labels": {
        "app": "monitoring-vault-sync"
      },
      "serviceAccountName": "monitoring-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "monitoring",
      "name": "postmark-exporter",
      "labels": {
        "app": "postmark-exporter"
      },
      "serviceAccountName": "monitoring-vault-sync",
      "nodeSelector": {},
      "images": [
        "python:3.12-alpine"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "nextcloud",
      "name": "collabora",
      "labels": {
        "app": "collabora"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "collabora/code@sha256:3c58d0e9bae75e4647467d0c7d91cb66f261d3e814709aed590b5c334a04db26"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "nextcloud",
      "name": "nextcloud",
      "labels": {
        "app": "nextcloud"
      },
      "serviceAccountName": "nextcloud-vault",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "nextcloud:29-apache"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "outline",
      "name": "outline",
      "labels": {
        "app": "outline"
      },
      "serviceAccountName": "outline-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "outlinewiki/outline:1.2.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "outline",
      "name": "outline-redis",
      "labels": {
        "app": "outline-redis"
      },
      "serviceAccountName": null,
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "redis:7.4.1-alpine"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "planka",
      "name": "planka",
      "labels": {
        "app": "planka"
      },
      "serviceAccountName": "planka-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "ghcr.io/plankanban/planka:2.0.0-rc.4"
      ]
    },
    {
      "kind": "StatefulSet",
      "namespace": "postgres",
      "name": "postgres",
      "labels": {
        "app": "postgres"
      },
      "serviceAccountName": "postgres-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "postgres:15",
        "quay.io/prometheuscommunity/postgres-exporter:v0.15.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "sso",
      "name": "keycloak",
      "labels": {
        "app": "keycloak"
      },
      "serviceAccountName": "sso-vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "quay.io/keycloak/keycloak:26.0.7"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "sso",
      "name": "oauth2-proxy",
      "labels": {
        "app": "oauth2-proxy"
      },
      "serviceAccountName": "sso-vault",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "registry.bstein.dev/tools/oauth2-proxy-vault:v7.6.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "sso",
      "name": "sso-vault-sync",
      "labels": {
        "app": "sso-vault-sync"
      },
      "serviceAccountName": "sso-vault-sync",
      "nodeSelector": {},
      "images": [
        "alpine:3.20"
      ]
    },
    {
      "kind": "StatefulSet",
      "namespace": "sso",
      "name": "openldap",
      "labels": {
        "app": "openldap"
      },
      "serviceAccountName": "sso-vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "docker.io/osixia/openldap:1.5.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "sui-metrics",
      "name": "sui-metrics",
      "labels": {
        "app": "sui-metrics"
      },
      "serviceAccountName": "sui-metrics",
      "nodeSelector": {
        "hardware": "rpi5"
      },
      "images": [
        "victoriametrics/vmagent:v1.103.0"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "traefik",
      "name": "traefik",
      "labels": {
        "app": "traefik",
        "app.kubernetes.io/instance": "traefik-kube-system",
        "app.kubernetes.io/name": "traefik"
      },
      "serviceAccountName": "traefik-ingress-controller",
      "nodeSelector": {
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "traefik:v3.3.3"
      ]
    },
    {
      "kind": "StatefulSet",
      "namespace": "vault",
      "name": "vault",
      "labels": {
        "app": "vault"
      },
      "serviceAccountName": "vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "hashicorp/vault:1.17.6"
      ]
    },
    {
      "kind": "Deployment",
      "namespace": "vaultwarden",
      "name": "vaultwarden",
      "labels": {
        "app": "vaultwarden"
      },
      "serviceAccountName": "vaultwarden-vault",
      "nodeSelector": {
        "kubernetes.io/arch": "arm64",
        "node-role.kubernetes.io/worker": "true"
      },
      "images": [
        "vaultwarden/server:1.35.2"
      ]
    }
  ],
  "services": [
    {
      "namespace": "ai",
      "name": "ollama",
      "type": "ClusterIP",
      "selector": {
        "app": "ollama"
      },
      "ports": [
        {
          "name": "http",
          "port": 11434,
          "targetPort": 11434,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "bstein-dev-home",
      "name": "bstein-dev-home-backend",
      "type": "ClusterIP",
      "selector": {
        "app": "bstein-dev-home-backend"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 8080,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "bstein-dev-home",
      "name": "bstein-dev-home-frontend",
      "type": "ClusterIP",
      "selector": {
        "app": "bstein-dev-home-frontend"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 80,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "bstein-dev-home",
      "name": "chat-ai-gateway",
      "type": "ClusterIP",
      "selector": {
        "app": "chat-ai-gateway"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 8080,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "coturn",
      "type": "LoadBalancer",
      "selector": {
        "app": "coturn"
      },
      "ports": [
        {
          "name": "turn-udp",
          "port": 3478,
          "targetPort": 3478,
          "protocol": "UDP"
        },
        {
          "name": "turn-tcp",
          "port": 3478,
          "targetPort": 3478,
          "protocol": "TCP"
        },
        {
          "name": "turn-tls",
          "port": 5349,
          "targetPort": 5349,
          "protocol": "TCP"
        },
        {
          "name": "relay-50000",
          "port": 50000,
          "targetPort": 50000,
          "protocol": "UDP"
        },
        {
          "name": "relay-50001",
          "port": 50001,
          "targetPort": 50001,
          "protocol": "UDP"
        },
        {
          "name": "relay-50002",
          "port": 50002,
          "targetPort": 50002,
          "protocol": "UDP"
        },
        {
          "name": "relay-50003",
          "port": 50003,
          "targetPort": 50003,
          "protocol": "UDP"
        },
        {
          "name": "relay-50004",
          "port": 50004,
          "targetPort": 50004,
          "protocol": "UDP"
        },
        {
          "name": "relay-50005",
          "port": 50005,
          "targetPort": 50005,
          "protocol": "UDP"
        },
        {
          "name": "relay-50006",
          "port": 50006,
          "targetPort": 50006,
          "protocol": "UDP"
        },
        {
          "name": "relay-50007",
          "port": 50007,
          "targetPort": 50007,
          "protocol": "UDP"
        },
        {
          "name": "relay-50008",
          "port": 50008,
          "targetPort": 50008,
          "protocol": "UDP"
        },
        {
          "name": "relay-50009",
          "port": 50009,
          "targetPort": 50009,
          "protocol": "UDP"
        },
        {
          "name": "relay-50010",
          "port": 50010,
          "targetPort": 50010,
          "protocol": "UDP"
        },
        {
          "name": "relay-50011",
          "port": 50011,
          "targetPort": 50011,
          "protocol": "UDP"
        },
        {
          "name": "relay-50012",
          "port": 50012,
          "targetPort": 50012,
          "protocol": "UDP"
        },
        {
          "name": "relay-50013",
          "port": 50013,
          "targetPort": 50013,
          "protocol": "UDP"
        },
        {
          "name": "relay-50014",
          "port": 50014,
          "targetPort": 50014,
          "protocol": "UDP"
        },
        {
          "name": "relay-50015",
          "port": 50015,
          "targetPort": 50015,
          "protocol": "UDP"
        },
        {
          "name": "relay-50016",
          "port": 50016,
          "targetPort": 50016,
          "protocol": "UDP"
        },
        {
          "name": "relay-50017",
          "port": 50017,
          "targetPort": 50017,
          "protocol": "UDP"
        },
        {
          "name": "relay-50018",
          "port": 50018,
          "targetPort": 50018,
          "protocol": "UDP"
        },
        {
          "name": "relay-50019",
          "port": 50019,
          "targetPort": 50019,
          "protocol": "UDP"
        },
        {
          "name": "relay-50020",
          "port": 50020,
          "targetPort": 50020,
          "protocol": "UDP"
        },
        {
          "name": "relay-50021",
          "port": 50021,
          "targetPort": 50021,
          "protocol": "UDP"
        },
        {
          "name": "relay-50022",
          "port": 50022,
          "targetPort": 50022,
          "protocol": "UDP"
        },
        {
          "name": "relay-50023",
          "port": 50023,
          "targetPort": 50023,
          "protocol": "UDP"
        },
        {
          "name": "relay-50024",
          "port": 50024,
          "targetPort": 50024,
          "protocol": "UDP"
        },
        {
          "name": "relay-50025",
          "port": 50025,
          "targetPort": 50025,
          "protocol": "UDP"
        },
        {
          "name": "relay-50026",
          "port": 50026,
          "targetPort": 50026,
          "protocol": "UDP"
        },
        {
          "name": "relay-50027",
          "port": 50027,
          "targetPort": 50027,
          "protocol": "UDP"
        },
        {
          "name": "relay-50028",
          "port": 50028,
          "targetPort": 50028,
          "protocol": "UDP"
        },
        {
          "name": "relay-50029",
          "port": 50029,
          "targetPort": 50029,
          "protocol": "UDP"
        },
        {
          "name": "relay-50030",
          "port": 50030,
          "targetPort": 50030,
          "protocol": "UDP"
        },
        {
          "name": "relay-50031",
          "port": 50031,
          "targetPort": 50031,
          "protocol": "UDP"
        },
        {
          "name": "relay-50032",
          "port": 50032,
          "targetPort": 50032,
          "protocol": "UDP"
        },
        {
          "name": "relay-50033",
          "port": 50033,
          "targetPort": 50033,
          "protocol": "UDP"
        },
        {
          "name": "relay-50034",
          "port": 50034,
          "targetPort": 50034,
          "protocol": "UDP"
        },
        {
          "name": "relay-50035",
          "port": 50035,
          "targetPort": 50035,
          "protocol": "UDP"
        },
        {
          "name": "relay-50036",
          "port": 50036,
          "targetPort": 50036,
          "protocol": "UDP"
        },
        {
          "name": "relay-50037",
          "port": 50037,
          "targetPort": 50037,
          "protocol": "UDP"
        },
        {
          "name": "relay-50038",
          "port": 50038,
          "targetPort": 50038,
          "protocol": "UDP"
        },
        {
          "name": "relay-50039",
          "port": 50039,
          "targetPort": 50039,
          "protocol": "UDP"
        },
        {
          "name": "relay-50040",
          "port": 50040,
          "targetPort": 50040,
          "protocol": "UDP"
        },
        {
          "name": "relay-50041",
          "port": 50041,
          "targetPort": 50041,
          "protocol": "UDP"
        },
        {
          "name": "relay-50042",
          "port": 50042,
          "targetPort": 50042,
          "protocol": "UDP"
        },
        {
          "name": "relay-50043",
          "port": 50043,
          "targetPort": 50043,
          "protocol": "UDP"
        },
        {
          "name": "relay-50044",
          "port": 50044,
          "targetPort": 50044,
          "protocol": "UDP"
        },
        {
          "name": "relay-50045",
          "port": 50045,
          "targetPort": 50045,
          "protocol": "UDP"
        },
        {
          "name": "relay-50046",
          "port": 50046,
          "targetPort": 50046,
          "protocol": "UDP"
        },
        {
          "name": "relay-50047",
          "port": 50047,
          "targetPort": 50047,
          "protocol": "UDP"
        },
        {
          "name": "relay-50048",
          "port": 50048,
          "targetPort": 50048,
          "protocol": "UDP"
        },
        {
          "name": "relay-50049",
          "port": 50049,
          "targetPort": 50049,
          "protocol": "UDP"
        },
        {
          "name": "relay-50050",
          "port": 50050,
          "targetPort": 50050,
          "protocol": "UDP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "element-call",
      "type": "ClusterIP",
      "selector": {
        "app": "element-call"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 8080,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "livekit",
      "type": "LoadBalancer",
      "selector": {
        "app": "livekit"
      },
      "ports": [
        {
          "name": "http",
          "port": 7880,
          "targetPort": 7880,
          "protocol": "TCP"
        },
        {
          "name": "rtc-tcp",
          "port": 7881,
          "targetPort": 7881,
          "protocol": "TCP"
        },
        {
          "name": "rtc-udp-7882",
          "port": 7882,
          "targetPort": 7882,
          "protocol": "UDP"
        },
        {
          "name": "rtc-udp-7883",
          "port": 7883,
          "targetPort": 7883,
          "protocol": "UDP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "livekit-token-service",
      "type": "ClusterIP",
      "selector": {
        "app": "livekit-token-service"
      },
      "ports": [
        {
          "name": "http",
          "port": 8080,
          "targetPort": 8080,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "matrix-authentication-service",
      "type": "ClusterIP",
      "selector": {
        "app": "matrix-authentication-service"
      },
      "ports": [
        {
          "name": "http",
          "port": 8080,
          "targetPort": "http",
          "protocol": "TCP"
        },
        {
          "name": "internal",
          "port": 8081,
          "targetPort": "internal",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "matrix-guest-register",
      "type": "ClusterIP",
      "selector": {
        "app.kubernetes.io/name": "matrix-guest-register"
      },
      "ports": [
        {
          "name": "http",
          "port": 8080,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "comms",
      "name": "matrix-wellknown",
      "type": "ClusterIP",
      "selector": {
        "app": "matrix-wellknown"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 80,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "crypto",
      "name": "monerod",
      "type": "ClusterIP",
      "selector": {
        "app": "monerod"
      },
      "ports": [
        {
          "name": "rpc",
          "port": 18081,
          "targetPort": 18081,
          "protocol": "TCP"
        },
        {
          "name": "p2p",
          "port": 18080,
          "targetPort": 18080,
          "protocol": "TCP"
        },
        {
          "name": "zmq",
          "port": 18083,
          "targetPort": 18083,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "crypto",
      "name": "p2pool",
      "type": "ClusterIP",
      "selector": {
        "app": "p2pool"
      },
      "ports": [
        {
          "name": "stratum",
          "port": 3333,
          "targetPort": 3333,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "crypto",
      "name": "wallet-monero-temp",
      "type": "ClusterIP",
      "selector": {
        "app": "wallet-monero-temp"
      },
      "ports": [
        {
          "name": "rpc",
          "port": 18083,
          "targetPort": 18083,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "finance",
      "name": "actual-budget",
      "type": "ClusterIP",
      "selector": {
        "app": "actual-budget"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 5006,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "finance",
      "name": "firefly",
      "type": "ClusterIP",
      "selector": {
        "app": "firefly"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 8080,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "flux-system",
      "name": "notification-controller",
      "type": "ClusterIP",
      "selector": {
        "app": "notification-controller"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "flux-system",
      "name": "source-controller",
      "type": "ClusterIP",
      "selector": {
        "app": "source-controller"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "flux-system",
      "name": "webhook-receiver",
      "type": "ClusterIP",
      "selector": {
        "app": "notification-controller"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http-webhook",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "gitea",
      "name": "gitea",
      "type": "ClusterIP",
      "selector": {
        "app": "gitea"
      },
      "ports": [
        {
          "name": "http",
          "port": 3000,
          "targetPort": 3000,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "gitea",
      "name": "gitea-ssh",
      "type": "LoadBalancer",
      "selector": {
        "app": "gitea"
      },
      "ports": [
        {
          "name": "ssh",
          "port": 2242,
          "targetPort": 2242,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "health",
      "name": "wger",
      "type": "ClusterIP",
      "selector": {
        "app": "wger"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "jellyfin",
      "name": "jellyfin",
      "type": "ClusterIP",
      "selector": {
        "app": "jellyfin"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 8096,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "jellyfin",
      "name": "pegasus",
      "type": "ClusterIP",
      "selector": {
        "app": "pegasus"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "jenkins",
      "name": "jenkins",
      "type": "ClusterIP",
      "selector": {
        "app": "jenkins"
      },
      "ports": [
        {
          "name": "http",
          "port": 8080,
          "targetPort": 8080,
          "protocol": "TCP"
        },
        {
          "name": "agent-listener",
          "port": 50000,
          "targetPort": 50000,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "logging",
      "name": "oauth2-proxy-logs",
      "type": "ClusterIP",
      "selector": {
        "app": "oauth2-proxy-logs"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 4180,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "longhorn-system",
      "name": "oauth2-proxy-longhorn",
      "type": "ClusterIP",
      "selector": {
        "app": "oauth2-proxy-longhorn"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 4180,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "mailu-mailserver",
      "name": "mailu-front-lb",
      "type": "LoadBalancer",
      "selector": {
        "app.kubernetes.io/component": "front",
        "app.kubernetes.io/instance": "mailu",
        "app.kubernetes.io/name": "mailu"
      },
      "ports": [
        {
          "name": "smtp",
          "port": 25,
          "targetPort": 25,
          "protocol": "TCP"
        },
        {
          "name": "smtps",
          "port": 465,
          "targetPort": 465,
          "protocol": "TCP"
        },
        {
          "name": "submission",
          "port": 587,
          "targetPort": 587,
          "protocol": "TCP"
        },
        {
          "name": "imaps",
          "port": 993,
          "targetPort": 993,
          "protocol": "TCP"
        },
        {
          "name": "pop3s",
          "port": 995,
          "targetPort": 995,
          "protocol": "TCP"
        },
        {
          "name": "sieve",
          "port": 4190,
          "targetPort": 4190,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "maintenance",
      "name": "ariadne",
      "type": "ClusterIP",
      "selector": {
        "app": "ariadne"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "monitoring",
      "name": "dcgm-exporter",
      "type": "ClusterIP",
      "selector": {
        "app": "dcgm-exporter"
      },
      "ports": [
        {
          "name": "metrics",
          "port": 9400,
          "targetPort": "metrics",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "monitoring",
      "name": "jetson-tegrastats-exporter",
      "type": "ClusterIP",
      "selector": {
        "app": "jetson-tegrastats-exporter"
      },
      "ports": [
        {
          "name": "metrics",
          "port": 9100,
          "targetPort": "metrics",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "monitoring",
      "name": "postmark-exporter",
      "type": "ClusterIP",
      "selector": {
        "app": "postmark-exporter"
      },
      "ports": [
        {
          "name": "http",
          "port": 8000,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "nextcloud",
      "name": "collabora",
      "type": "ClusterIP",
      "selector": {
        "app": "collabora"
      },
      "ports": [
        {
          "name": "http",
          "port": 9980,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "nextcloud",
      "name": "nextcloud",
      "type": "ClusterIP",
      "selector": {
        "app": "nextcloud"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "outline",
      "name": "outline",
      "type": "ClusterIP",
      "selector": {
        "app": "outline"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "outline",
      "name": "outline-redis",
      "type": "ClusterIP",
      "selector": {
        "app": "outline-redis"
      },
      "ports": [
        {
          "name": "redis",
          "port": 6379,
          "targetPort": "redis",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "planka",
      "name": "planka",
      "type": "ClusterIP",
      "selector": {
        "app": "planka"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "postgres",
      "name": "postgres-service",
      "type": "ClusterIP",
      "selector": {
        "app": "postgres"
      },
      "ports": [
        {
          "name": "postgres",
          "port": 5432,
          "targetPort": 5432,
          "protocol": "TCP"
        },
        {
          "name": "metrics",
          "port": 9187,
          "targetPort": 9187,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "sso",
      "name": "keycloak",
      "type": "ClusterIP",
      "selector": {
        "app": "keycloak"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "sso",
      "name": "oauth2-proxy",
      "type": "ClusterIP",
      "selector": {
        "app": "oauth2-proxy"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": 4180,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "sso",
      "name": "openldap",
      "type": "ClusterIP",
      "selector": {
        "app": "openldap"
      },
      "ports": [
        {
          "name": "ldap",
          "port": 389,
          "targetPort": "ldap",
          "protocol": "TCP"
        },
        {
          "name": "ldaps",
          "port": 636,
          "targetPort": "ldaps",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "sui-metrics",
      "name": "sui-metrics",
      "type": "ClusterIP",
      "selector": {
        "app": "sui-metrics"
      },
      "ports": [
        {
          "name": "http",
          "port": 8429,
          "targetPort": 8429,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "traefik",
      "name": "traefik",
      "type": "LoadBalancer",
      "selector": {
        "app": "traefik"
      },
      "ports": [
        {
          "name": "web",
          "port": 80,
          "targetPort": "web",
          "protocol": "TCP"
        },
        {
          "name": "websecure",
          "port": 443,
          "targetPort": "websecure",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "traefik",
      "name": "traefik-metrics",
      "type": "ClusterIP",
      "selector": {
        "app": "traefik"
      },
      "ports": [
        {
          "name": "metrics",
          "port": 9100,
          "targetPort": "metrics",
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "vault",
      "name": "vault",
      "type": "ClusterIP",
      "selector": {
        "app": "vault"
      },
      "ports": [
        {
          "name": "api",
          "port": 8200,
          "targetPort": 8200,
          "protocol": "TCP"
        },
        {
          "name": "cluster",
          "port": 8201,
          "targetPort": 8201,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "vault",
      "name": "vault-internal",
      "type": "ClusterIP",
      "selector": {
        "app": "vault"
      },
      "ports": [
        {
          "name": "api",
          "port": 8200,
          "targetPort": 8200,
          "protocol": "TCP"
        },
        {
          "name": "cluster",
          "port": 8201,
          "targetPort": 8201,
          "protocol": "TCP"
        }
      ]
    },
    {
      "namespace": "vaultwarden",
      "name": "vaultwarden-service",
      "type": "ClusterIP",
      "selector": {
        "app": "vaultwarden"
      },
      "ports": [
        {
          "name": "http",
          "port": 80,
          "targetPort": "http",
          "protocol": "TCP"
        }
      ]
    }
  ],
  "http_endpoints": [
    {
      "host": "auth.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "sso",
        "service": "oauth2-proxy",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "oauth2-proxy"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "oauth2-proxy",
        "source": "oauth2-proxy"
      }
    },
    {
      "host": "bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "bstein-dev-home",
        "service": "bstein-dev-home-frontend",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "bstein-dev-home-frontend"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "bstein-dev-home",
        "source": "bstein-dev-home"
      }
    },
    {
      "host": "bstein.dev",
      "path": "/.well-known/matrix/client",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown-bstein-dev",
        "source": "comms"
      }
    },
    {
      "host": "bstein.dev",
      "path": "/.well-known/matrix/server",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown-bstein-dev",
        "source": "comms"
      }
    },
    {
      "host": "bstein.dev",
      "path": "/api",
      "backend": {
        "namespace": "bstein-dev-home",
        "service": "bstein-dev-home-backend",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "bstein-dev-home-backend"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "bstein-dev-home",
        "source": "bstein-dev-home"
      }
    },
    {
      "host": "budget.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "finance",
        "service": "actual-budget",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "actual-budget"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "actual-budget",
        "source": "finance"
      }
    },
    {
      "host": "call.live.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "comms",
        "service": "element-call",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "element-call"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "element-call",
        "source": "comms"
      }
    },
    {
      "host": "chat.ai.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "bstein-dev-home",
        "service": "chat-ai-gateway",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "chat-ai-gateway"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "bstein-dev-home",
        "source": "bstein-dev-home"
      }
    },
    {
      "host": "ci.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "jenkins",
        "service": "jenkins",
        "port": "http",
        "workloads": [
          {
            "kind": "Deployment",
            "name": "jenkins"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "jenkins",
        "source": "jenkins"
      }
    },
    {
      "host": "cloud.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "nextcloud",
        "service": "nextcloud",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "nextcloud"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "nextcloud",
        "source": "nextcloud"
      }
    },
    {
      "host": "health.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "health",
        "service": "wger",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "wger"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "wger",
        "source": "health"
      }
    },
    {
      "host": "kit.live.bstein.dev",
      "path": "/livekit/jwt",
      "backend": {
        "namespace": "comms",
        "service": "livekit-token-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "livekit-token-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "livekit-jwt-ingress",
        "source": "comms"
      }
    },
    {
      "host": "kit.live.bstein.dev",
      "path": "/livekit/sfu",
      "backend": {
        "namespace": "comms",
        "service": "livekit",
        "port": 7880,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "livekit"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "livekit-ingress",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/.well-known/matrix/client",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/.well-known/matrix/server",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix",
      "backend": {
        "namespace": "comms",
        "service": "othrys-synapse-matrix-synapse",
        "port": 8008,
        "workloads": []
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix/client/r0/register",
      "backend": {
        "namespace": "comms",
        "service": "matrix-guest-register",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-guest-register"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix/client/v3/login",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix/client/v3/logout",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix/client/v3/refresh",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "live.bstein.dev",
      "path": "/_matrix/client/v3/register",
      "backend": {
        "namespace": "comms",
        "service": "matrix-guest-register",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-guest-register"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "logs.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "logging",
        "service": "oauth2-proxy-logs",
        "port": "http",
        "workloads": [
          {
            "kind": "Deployment",
            "name": "oauth2-proxy-logs"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "logs",
        "source": "logging"
      }
    },
    {
      "host": "longhorn.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "longhorn-system",
        "service": "oauth2-proxy-longhorn",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "oauth2-proxy-longhorn"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "longhorn-ingress",
        "source": "longhorn-ui"
      }
    },
    {
      "host": "mail.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "mailu-mailserver",
        "service": "mailu-front",
        "port": 443,
        "workloads": []
      },
      "via": {
        "kind": "IngressRoute",
        "name": "mailu",
        "source": "mailu"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/.well-known/matrix/client",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown-matrix-live",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/.well-known/matrix/server",
      "backend": {
        "namespace": "comms",
        "service": "matrix-wellknown",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-wellknown"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-wellknown-matrix-live",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix",
      "backend": {
        "namespace": "comms",
        "service": "othrys-synapse-matrix-synapse",
        "port": 8008,
        "workloads": []
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix/client/r0/register",
      "backend": {
        "namespace": "comms",
        "service": "matrix-guest-register",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-guest-register"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix/client/v3/login",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix/client/v3/logout",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix/client/v3/refresh",
      "backend": {
        "namespace": "comms",
        "service": "matrix-authentication-service",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-authentication-service"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_matrix/client/v3/register",
      "backend": {
        "namespace": "comms",
        "service": "matrix-guest-register",
        "port": 8080,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "matrix-guest-register"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "matrix.live.bstein.dev",
      "path": "/_synapse",
      "backend": {
        "namespace": "comms",
        "service": "othrys-synapse-matrix-synapse",
        "port": 8008,
        "workloads": []
      },
      "via": {
        "kind": "Ingress",
        "name": "matrix-routing",
        "source": "comms"
      }
    },
    {
      "host": "monero.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "crypto",
        "service": "monerod",
        "port": 18081,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "monerod"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "monerod",
        "source": "monerod"
      }
    },
    {
      "host": "money.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "finance",
        "service": "firefly",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "firefly"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "firefly",
        "source": "finance"
      }
    },
    {
      "host": "notes.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "outline",
        "service": "outline",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "outline"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "outline",
        "source": "outline"
      }
    },
    {
      "host": "office.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "nextcloud",
        "service": "collabora",
        "port": 9980,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "collabora"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "collabora",
        "source": "nextcloud"
      }
    },
    {
      "host": "pegasus.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "jellyfin",
        "service": "pegasus",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "pegasus"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "pegasus",
        "source": "pegasus"
      }
    },
    {
      "host": "scm.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "gitea",
        "service": "gitea",
        "port": 3000,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "gitea"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "gitea-ingress",
        "source": "gitea"
      }
    },
    {
      "host": "secret.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "vault",
        "service": "vault",
        "port": 8200,
        "workloads": [
          {
            "kind": "StatefulSet",
            "name": "vault"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "vault",
        "source": "vault"
      }
    },
    {
      "host": "sso.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "sso",
        "service": "keycloak",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "keycloak"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "keycloak",
        "source": "keycloak"
      }
    },
    {
      "host": "stream.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "jellyfin",
        "service": "jellyfin",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "jellyfin"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "jellyfin",
        "source": "jellyfin"
      }
    },
    {
      "host": "tasks.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "planka",
        "service": "planka",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "planka"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "planka",
        "source": "planka"
      }
    },
    {
      "host": "vault.bstein.dev",
      "path": "/",
      "backend": {
        "namespace": "vaultwarden",
        "service": "vaultwarden-service",
        "port": 80,
        "workloads": [
          {
            "kind": "Deployment",
            "name": "vaultwarden"
          }
        ]
      },
      "via": {
        "kind": "Ingress",
        "name": "vaultwarden-ingress",
        "source": "vaultwarden"
      }
    }
  ],
  "helmrelease_host_hints": {
    "comms:comms/othrys-element": [
      "call.live.bstein.dev",
      "live.bstein.dev",
      "matrix.live.bstein.dev"
    ],
    "comms:comms/othrys-synapse": [
      "kit.live.bstein.dev",
      "live.bstein.dev",
      "matrix.live.bstein.dev",
      "turn.live.bstein.dev"
    ],
    "gitops-ui:flux-system/weave-gitops": [
      "cd.bstein.dev"
    ],
    "harbor:harbor/harbor": [
      "registry.bstein.dev"
    ],
    "logging:logging/data-prepper": [
      "registry.bstein.dev"
    ],
    "longhorn:longhorn-system/longhorn": [
      "registry.bstein.dev"
    ],
    "mailu:mailu-mailserver/mailu": [
      "bstein.dev",
      "mail.bstein.dev"
    ],
    "monitoring:monitoring/alertmanager": [
      "alerts.bstein.dev"
    ],
    "monitoring:monitoring/grafana": [
      "bstein.dev",
      "mail.bstein.dev",
      "metrics.bstein.dev",
      "sso.bstein.dev"
    ],
    "monitoring:monitoring/kube-state-metrics": [
      "atlas.bstein.dev"
    ]
  }
}
