--- apiVersion: v1 kind: Namespace metadata: name: researchowl --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: researchowl-data namespace: researchowl spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: researchowl namespace: researchowl labels: app: researchowl spec: replicas: 1 selector: matchLabels: app: researchowl template: metadata: labels: app: researchowl spec: containers: - name: researchowl image: git.chemavx.xyz/chemavx/researchowl:c33bb533 imagePullPolicy: Always env: - name: TELEGRAM_BOT_TOKEN valueFrom: secretKeyRef: name: researchowl-secrets key: telegram-bot-token - name: TELEGRAM_ALLOWED_USERS valueFrom: secretKeyRef: name: researchowl-secrets key: telegram-allowed-users - name: OLLAMA_URL value: "http://ollama.ollama.svc.cluster.local:11434" - name: OLLAMA_MODEL value: "qwen2.5:3b" - name: DB_PATH value: "/data/researchowl.db" - name: MAX_SOURCES value: "150" - name: MAX_DEPTH value: "3" - name: QUALITY_THRESHOLD value: "0.4" - name: ANTHROPIC_API_KEY valueFrom: secretKeyRef: name: researchowl-secrets key: anthropic-api-key volumeMounts: - name: data mountPath: /data resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "1Gi" cpu: "500m" volumes: - name: data persistentVolumeClaim: claimName: researchowl-data imagePullSecrets: - name: gitea-registry # Secret is managed imperatively (not by ArgoCD) to avoid overwriting real values: # kubectl create secret generic researchowl-secrets \ # --from-literal=telegram-bot-token=YOUR_TOKEN \ # --from-literal=telegram-allowed-users=YOUR_USER_ID \ # --from-literal=anthropic-api-key=YOUR_KEY \ # -n researchowl