2772 lines
61 KiB
JSON

{
"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": "ci-demo",
"path": "services/ci-demo",
"targetNamespace": null
},
{
"name": "communication",
"path": "services/comms",
"targetNamespace": "comms"
},
{
"name": "core",
"path": "infrastructure/core",
"targetNamespace": null
},
{
"name": "crypto",
"path": "services/crypto",
"targetNamespace": "crypto"
},
{
"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": "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": "longhorn-ui",
"path": "infrastructure/longhorn/ui-ingress",
"targetNamespace": "longhorn-system"
},
{
"name": "mailu",
"path": "services/mailu",
"targetNamespace": "mailu-mailserver"
},
{
"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": "pegasus",
"path": "services/pegasus",
"targetNamespace": "jellyfin"
},
{
"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": "vaultwarden",
"path": "services/vaultwarden",
"targetNamespace": "vaultwarden"
},
{
"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:latest"
]
},
{
"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-84"
]
},
{
"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-84"
]
},
{
"kind": "Deployment",
"namespace": "bstein-dev-home",
"name": "chat-ai-gateway",
"labels": {
"app": "chat-ai-gateway"
},
"serviceAccountName": null,
"nodeSelector": {
"kubernetes.io/arch": "arm64",
"node-role.kubernetes.io/worker": "true"
},
"images": [
"python:3.11-slim"
]
},
{
"kind": "Deployment",
"namespace": "ci-demo",
"name": "ci-demo",
"labels": {
"app.kubernetes.io/name": "ci-demo"
},
"serviceAccountName": null,
"nodeSelector": {
"hardware": "rpi4"
},
"images": [
"registry.bstein.dev/infra/ci-demo:v0.0.0-3"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "atlasbot",
"labels": {
"app": "atlasbot"
},
"serviceAccountName": "atlasbot",
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"python:3.11-slim"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "coturn",
"labels": {
"app": "coturn"
},
"serviceAccountName": null,
"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:latest"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "livekit",
"labels": {
"app": "livekit"
},
"serviceAccountName": null,
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"livekit/livekit-server:v1.9.0"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "livekit-token-service",
"labels": {
"app": "livekit-token-service"
},
"serviceAccountName": null,
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"ghcr.io/element-hq/lk-jwt-service:0.3.0"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "matrix-authentication-service",
"labels": {
"app": "matrix-authentication-service"
},
"serviceAccountName": null,
"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": null,
"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": "Deployment",
"namespace": "comms",
"name": "othrys-element-element-web",
"labels": {
"app.kubernetes.io/instance": "othrys-element",
"app.kubernetes.io/name": "element-web"
},
"serviceAccountName": "othrys-element-element-web",
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"ghcr.io/element-hq/element-web:v1.12.6"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "othrys-synapse-matrix-synapse",
"labels": {
"app.kubernetes.io/component": "synapse",
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/name": "matrix-synapse"
},
"serviceAccountName": "default",
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"ghcr.io/element-hq/synapse:v1.144.0"
]
},
{
"kind": "Deployment",
"namespace": "comms",
"name": "othrys-synapse-redis-master",
"labels": {
"app.kubernetes.io/component": "master",
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/managed-by": "Helm",
"app.kubernetes.io/name": "redis",
"helm.sh/chart": "redis-17.17.1"
},
"serviceAccountName": "othrys-synapse-redis",
"nodeSelector": {},
"images": [
"docker.io/bitnamilegacy/redis:7.0.12-debian-11-r34"
]
},
{
"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:latest"
]
},
{
"kind": "Deployment",
"namespace": "crypto",
"name": "monero-p2pool",
"labels": {
"app": "monero-p2pool"
},
"serviceAccountName": null,
"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": "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": null,
"nodeSelector": {
"node-role.kubernetes.io/worker": "true"
},
"images": [
"gitea/gitea:1.23"
]
},
{
"kind": "Deployment",
"namespace": "jellyfin",
"name": "jellyfin",
"labels": {
"app": "jellyfin"
},
"serviceAccountName": null,
"nodeSelector": {},
"images": [
"docker.io/jellyfin/jellyfin:10.11.5"
]
},
{
"kind": "Deployment",
"namespace": "jellyfin",
"name": "pegasus",
"labels": {
"app": "pegasus"
},
"serviceAccountName": null,
"nodeSelector": {
"kubernetes.io/arch": "arm64",
"node-role.kubernetes.io/worker": "true"
},
"images": [
"alpine:3.20",
"registry.bstein.dev/streaming/pegasus:1.2.32"
]
},
{
"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": "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": "longhorn-system",
"name": "oauth2-proxy-longhorn",
"labels": {
"app": "oauth2-proxy-longhorn"
},
"serviceAccountName": null,
"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": [
"lachlanevenson/k8s-kubectl:latest"
]
},
{
"kind": "Deployment",
"namespace": "mailu-mailserver",
"name": "mailu-sync-listener",
"labels": {
"app": "mailu-sync-listener"
},
"serviceAccountName": null,
"nodeSelector": {},
"images": [
"python:3.11-alpine"
]
},
{
"kind": "DaemonSet",
"namespace": "metallb-system",
"name": "metallb-speaker",
"labels": {
"app.kubernetes.io/component": "speaker",
"app.kubernetes.io/instance": "metallb",
"app.kubernetes.io/name": "metallb"
},
"serviceAccountName": "metallb-speaker",
"nodeSelector": {
"kubernetes.io/os": "linux"
},
"images": [
"quay.io/frrouting/frr:10.4.1",
"quay.io/metallb/speaker:v0.15.3"
]
},
{
"kind": "Deployment",
"namespace": "metallb-system",
"name": "metallb-controller",
"labels": {
"app.kubernetes.io/component": "controller",
"app.kubernetes.io/instance": "metallb",
"app.kubernetes.io/name": "metallb"
},
"serviceAccountName": "metallb-controller",
"nodeSelector": {
"kubernetes.io/os": "linux"
},
"images": [
"quay.io/metallb/controller:v0.15.3"
]
},
{
"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": "Deployment",
"namespace": "monitoring",
"name": "postmark-exporter",
"labels": {
"app": "postmark-exporter"
},
"serviceAccountName": null,
"nodeSelector": {},
"images": [
"python:3.12-alpine"
]
},
{
"kind": "Deployment",
"namespace": "nextcloud",
"name": "collabora",
"labels": {
"app": "collabora"
},
"serviceAccountName": null,
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"collabora/code:latest"
]
},
{
"kind": "Deployment",
"namespace": "nextcloud",
"name": "nextcloud",
"labels": {
"app": "nextcloud"
},
"serviceAccountName": null,
"nodeSelector": {
"hardware": "rpi5"
},
"images": [
"nextcloud:29-apache"
]
},
{
"kind": "Deployment",
"namespace": "sso",
"name": "keycloak",
"labels": {
"app": "keycloak"
},
"serviceAccountName": null,
"nodeSelector": {},
"images": [
"quay.io/keycloak/keycloak:26.0.7"
]
},
{
"kind": "Deployment",
"namespace": "sso",
"name": "oauth2-proxy",
"labels": {
"app": "oauth2-proxy"
},
"serviceAccountName": null,
"nodeSelector": {
"node-role.kubernetes.io/worker": "true"
},
"images": [
"quay.io/oauth2-proxy/oauth2-proxy:v7.6.0"
]
},
{
"kind": "StatefulSet",
"namespace": "sso",
"name": "openldap",
"labels": {
"app": "openldap"
},
"serviceAccountName": null,
"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": {
"kubernetes.io/hostname": "titan-24"
},
"images": [
"victoriametrics/vmagent:v1.103.0"
]
},
{
"kind": "Deployment",
"namespace": "traefik",
"name": "traefik",
"labels": {
"app": "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": null,
"nodeSelector": {},
"images": [
"vaultwarden/server:1.33.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": "ci-demo",
"name": "ci-demo",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/name": "ci-demo"
},
"ports": [
{
"name": "http",
"port": 80,
"targetPort": "http",
"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": "comms",
"name": "othrys-element-element-web",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/instance": "othrys-element",
"app.kubernetes.io/name": "element-web"
},
"ports": [
{
"name": "http",
"port": 80,
"targetPort": "http",
"protocol": "TCP"
}
]
},
{
"namespace": "comms",
"name": "othrys-synapse-matrix-synapse",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/component": "synapse",
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/name": "matrix-synapse"
},
"ports": [
{
"name": "http",
"port": 8008,
"targetPort": "http",
"protocol": "TCP"
}
]
},
{
"namespace": "comms",
"name": "othrys-synapse-redis-headless",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/name": "redis"
},
"ports": [
{
"name": "tcp-redis",
"port": 6379,
"targetPort": "redis",
"protocol": "TCP"
}
]
},
{
"namespace": "comms",
"name": "othrys-synapse-redis-master",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/component": "master",
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/name": "redis"
},
"ports": [
{
"name": "tcp-redis",
"port": 6379,
"targetPort": "redis",
"protocol": "TCP"
}
]
},
{
"namespace": "comms",
"name": "othrys-synapse-replication",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/component": "synapse",
"app.kubernetes.io/instance": "othrys-synapse",
"app.kubernetes.io/name": "matrix-synapse"
},
"ports": [
{
"name": "replication",
"port": 9093,
"targetPort": "replication",
"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": "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": "NodePort",
"selector": {
"app": "gitea"
},
"ports": [
{
"name": "ssh",
"port": 2242,
"targetPort": 2242,
"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": "kube-system",
"name": "traefik",
"type": "LoadBalancer",
"selector": {
"app.kubernetes.io/instance": "traefik-kube-system",
"app.kubernetes.io/name": "traefik"
},
"ports": [
{
"name": "web",
"port": 80,
"targetPort": "web",
"protocol": "TCP"
},
{
"name": "websecure",
"port": 443,
"targetPort": "websecure",
"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": "mailu-mailserver",
"name": "mailu-sync-listener",
"type": "ClusterIP",
"selector": {
"app": "mailu-sync-listener"
},
"ports": [
{
"name": "http",
"port": 8080,
"targetPort": 8080,
"protocol": "TCP"
}
]
},
{
"namespace": "metallb-system",
"name": "metallb-webhook-service",
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/component": "controller",
"app.kubernetes.io/instance": "metallb",
"app.kubernetes.io/name": "metallb"
},
"ports": [
{
"name": null,
"port": 443,
"targetPort": 9443,
"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": "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": "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-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": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "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": "communication"
}
},
{
"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": "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": "communication"
}
},
{
"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": "communication"
}
},
{
"host": "live.bstein.dev",
"path": "/",
"backend": {
"namespace": "comms",
"service": "othrys-element-element-web",
"port": 80,
"workloads": [
{
"kind": "Deployment",
"name": "othrys-element-element-web"
}
]
},
"via": {
"kind": "Ingress",
"name": "othrys-element-element-web",
"source": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"host": "live.bstein.dev",
"path": "/_matrix",
"backend": {
"namespace": "comms",
"service": "othrys-synapse-matrix-synapse",
"port": 8008,
"workloads": [
{
"kind": "Deployment",
"name": "othrys-synapse-matrix-synapse"
}
]
},
"via": {
"kind": "Ingress",
"name": "matrix-routing",
"source": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"host": "matrix.live.bstein.dev",
"path": "/_matrix",
"backend": {
"namespace": "comms",
"service": "othrys-synapse-matrix-synapse",
"port": 8008,
"workloads": [
{
"kind": "Deployment",
"name": "othrys-synapse-matrix-synapse"
}
]
},
"via": {
"kind": "Ingress",
"name": "matrix-routing",
"source": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"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": "communication"
}
},
{
"host": "matrix.live.bstein.dev",
"path": "/_synapse",
"backend": {
"namespace": "comms",
"service": "othrys-synapse-matrix-synapse",
"port": 8008,
"workloads": [
{
"kind": "Deployment",
"name": "othrys-synapse-matrix-synapse"
}
]
},
"via": {
"kind": "Ingress",
"name": "matrix-routing",
"source": "communication"
}
},
{
"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": "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": "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": {
"gitops-ui:flux-system/weave-gitops": [
"cd.bstein.dev"
],
"harbor:harbor/harbor": [
"registry.bstein.dev"
],
"mailu:mailu-mailserver/mailu": [
"bstein.dev",
"mail.bstein.dev"
],
"monitoring:monitoring/alertmanager": [
"alerts.bstein.dev"
],
"monitoring:monitoring/grafana": [
"metrics.bstein.dev",
"sso.bstein.dev"
]
}
}