feat(userbot): add Kubernetes control panel

Manage Telegram instances through Kubernetes with legacy adoption for forust and anna. Build and deploy the panel image alongside the runtime.
This commit is contained in:
2026-07-26 19:39:09 +02:00
parent 30e7d1b65f
commit 96de2d2573
39 changed files with 8188 additions and 5 deletions
+30 -2
View File
@@ -4,8 +4,14 @@ metadata:
name: forust-userbot-deployment
labels:
app: forust-userbot
app.kubernetes.io/name: userbot
app.kubernetes.io/instance: forust
annotations:
userbot.forust.xyz/display-name: forust
userbot.forust.xyz/legacy: "true"
userbot.forust.xyz/credentials-secret: userbot-forust-secrets
userbot.forust.xyz/pvc: forust-pvc
spec:
replicas: 1
selector:
matchLabels:
app: forust-userbot
@@ -13,6 +19,8 @@ spec:
metadata:
labels:
app: forust-userbot
annotations:
kubectl.kubernetes.io/restartedAt: "2026-07-25T20:24:51+02:00"
spec:
containers:
- name: forust-userbot
@@ -33,6 +41,8 @@ spec:
- secretRef:
name: userbot-forust-secrets
volumeMounts:
- name: downloads
mountPath: /app/downloads
- name: forust-storage
mountPath: /app/data
subPath: data
@@ -40,6 +50,10 @@ spec:
mountPath: /app/logs
subPath: logs
volumes:
- name: downloads
hostPath:
path: /srv/homelab/userbot/Downloads
type: DirectoryOrCreate
- name: forust-storage
persistentVolumeClaim:
claimName: forust-pvc
@@ -62,8 +76,14 @@ metadata:
name: anna-userbot-deployment
labels:
app: anna-userbot
app.kubernetes.io/name: userbot
app.kubernetes.io/instance: anna
annotations:
userbot.forust.xyz/display-name: anna
userbot.forust.xyz/legacy: "true"
userbot.forust.xyz/credentials-secret: userbot-anna-secrets
userbot.forust.xyz/pvc: anna-pvc
spec:
replicas: 1
selector:
matchLabels:
app: anna-userbot
@@ -71,6 +91,8 @@ spec:
metadata:
labels:
app: anna-userbot
annotations:
kubectl.kubernetes.io/restartedAt: "2026-07-25T20:24:51+02:00"
spec:
containers:
- name: anna-userbot
@@ -91,6 +113,8 @@ spec:
- secretRef:
name: userbot-anna-secrets
volumeMounts:
- name: downloads
mountPath: /app/downloads
- name: anna-storage
mountPath: /app/data
subPath: data
@@ -98,6 +122,10 @@ spec:
mountPath: /app/logs
subPath: logs
volumes:
- name: downloads
hostPath:
path: /srv/homelab/userbot/Downloads
type: DirectoryOrCreate
- name: anna-storage
persistentVolumeClaim:
claimName: anna-pvc