Discord link archiver bot with Gemini tags/summaries
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146---apiVersion: v1kind: Namespacemetadata: name: archivist
---# NOTE: the `archivist-secrets` Secret must exist in the `archivist` namespace# before this manifest is applied. Do NOT commit a secret manifest to git — see# DEPLOYMENT.md § "Secrets" for the recommended `kubectl create secret` or# SealedSecret workflow. A template is in `secrets.example.yaml` for reference.---# PostgreSQL for ArchivistapiVersion: apps/v1kind: StatefulSetmetadata: name: postgres namespace: archivistspec: serviceName: postgres replicas: 1 selector: matchLabels: app: archivist-postgres template: metadata: labels: app: archivist-postgres spec: containers: - name: postgres # Upstream `postgres:*` images don't ship pgvector; use the # pgvector-published image so `CREATE EXTENSION vector` works. image: pgvector/pgvector:pg16 ports: - containerPort: 5432 env: - name: POSTGRES_DB value: archivist - name: POSTGRES_USER value: archivist - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: archivist-secrets key: DB_PASSWORD resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "500m" volumeMounts: - name: pgdata mountPath: /var/lib/postgresql/data volumeClaimTemplates: - metadata: name: pgdata spec: accessModes: ["ReadWriteOnce"] # Uses your default StorageClass (e.g. Longhorn) resources: requests: storage: 5Gi
---apiVersion: v1kind: Servicemetadata: name: postgres namespace: archivistspec: selector: app: archivist-postgres ports: - port: 5432 clusterIP: None
---# The bot itselfapiVersion: apps/v1kind: Deploymentmetadata: name: archivist namespace: archivistspec: replicas: 1 selector: matchLabels: app: archivist template: metadata: labels: app: archivist spec: containers: - name: archivist image: archivist:latest imagePullPolicy: IfNotPresent env: - name: DISCORD_TOKEN valueFrom: secretKeyRef: name: archivist-secrets key: DISCORD_TOKEN - name: GEMINI_API_KEY valueFrom: secretKeyRef: name: archivist-secrets key: GEMINI_API_KEY - name: DB_PASSWORD valueFrom: secretKeyRef: name: archivist-secrets key: DB_PASSWORD - name: DB_HOST value: "postgres.archivist.svc.cluster.local" volumeMounts: - name: snapshots mountPath: /app/snapshots resources: requests: memory: "256Mi" cpu: "200m" limits: memory: "1Gi" # Playwright needs some headroom cpu: "1000m" volumes: - name: snapshots persistentVolumeClaim: claimName: archivist-snapshots-pvc
---apiVersion: v1kind: PersistentVolumeClaimmetadata: name: archivist-snapshots-pvc namespace: archivistspec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi