--- # Secret for sensitive environment variables # Replace base64-encoded values before applying: # echo -n "your_value" | base64 apiVersion: v1 kind: Secret metadata: name: gitea-assistant-secret namespace: gitea-assistant labels: app.kubernetes.io/name: gitea-assistant app.kubernetes.io/part-of: gitea-assistant type: Opaque data: # REQUIRED: replace with your own base64-encoded Gitea access token GITEA_ACCESS_TOKEN: eW91cl9naXRlYV90b2tlbg== --- apiVersion: v1 kind: ConfigMap metadata: name: gitea-assistant-config namespace: gitea-assistant labels: app.kubernetes.io/name: gitea-assistant app.kubernetes.io/part-of: gitea-assistant data: # Required: set to your Gitea instance API endpoint GITEA_API_URL: "http://localhost:3000/api/v1" PORT: "3000" # Optional: Qdrant vector DB for memory features (configure memory settings via Web UI) QDRANT_URL: "http://qdrant.gitea-assistant.svc.cluster.local:6333" # All other settings (review engine, Feishu, admin password, etc.) are managed # through the Admin Dashboard Web UI. They are auto-seeded on first boot. --- apiVersion: apps/v1 kind: Deployment metadata: name: gitea-assistant namespace: gitea-assistant labels: app.kubernetes.io/name: gitea-assistant app.kubernetes.io/part-of: gitea-assistant spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: gitea-assistant template: metadata: labels: app.kubernetes.io/name: gitea-assistant app.kubernetes.io/part-of: gitea-assistant spec: containers: - name: gitea-assistant image: ghcr.io/jeffusion/gitea-ai-assistant:latest ports: - name: http containerPort: 3000 protocol: TCP envFrom: - configMapRef: name: gitea-assistant-config - secretRef: name: gitea-assistant-secret resources: limits: memory: "512Mi" requests: memory: "256Mi" cpu: "100m" volumeMounts: - name: data mountPath: /app/data livenessProbe: httpGet: path: / port: http initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: / port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 volumes: - name: data persistentVolumeClaim: claimName: gitea-assistant-data --- apiVersion: v1 kind: Service metadata: name: gitea-assistant namespace: gitea-assistant labels: app.kubernetes.io/name: gitea-assistant app.kubernetes.io/part-of: gitea-assistant spec: type: ClusterIP selector: app.kubernetes.io/name: gitea-assistant ports: - name: http port: 3000 targetPort: http protocol: TCP