8 Commits

13 changed files with 226 additions and 2 deletions

View File

@@ -2,6 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gitea
- registry
- renovate
- ollama
- librechat
- researcher

View File

@@ -0,0 +1,40 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: registry
namespace: registry
spec:
replicas: 1
selector:
matchLabels:
app: registry
template:
metadata:
labels:
app: registry
spec:
containers:
- name: registry
image: registry:3.0.0
ports:
- containerPort: 5000
volumeMounts:
- name: data
mountPath: /var/lib/registry
volumes:
- name: data
persistentVolumeClaim:
claimName: registry-data
---
apiVersion: v1
kind: Service
metadata:
name: registry-service
namespace: registry
spec:
selector:
app: registry
ports:
- protocol: TCP
port: 80
targetPort: 5000

View File

@@ -0,0 +1,26 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: registry
name: registry
annotations:
cert-manager.io/cluster-issuer: letsencrypt
nginx.org/client-max-body-size: "0"
spec:
ingressClassName: nginx
rules:
- host: registry.lumpiasty.xyz
http:
paths:
- backend:
service:
name: registry-service
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- registry.lumpiasty.xyz
secretName: researcher-ingress

View File

@@ -0,0 +1,8 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- volume.yaml
- deployment.yaml
- ingress.yaml

View File

@@ -0,0 +1,5 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: registry

13
apps/registry/volume.yaml Normal file
View File

@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: registry-data
namespace: registry
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
storageClassName: mayastor-single-hdd

View File

@@ -15,7 +15,7 @@ spec:
- name: renovate
# Update this to the latest available and then enable Renovate on
# the manifest
image: renovate/renovate:39.251.0-full
image: renovate/renovate:39.251.1-full
envFrom:
- secretRef:
name: renovate-env

View File

@@ -0,0 +1,73 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: gpt-resercher
namespace: gpt-researcher
spec:
replicas: 1
selector:
matchLabels:
app: gpt-resercher
template:
metadata:
labels:
app: gpt-resercher
spec:
imagePullPolicy: Always
containers:
- name: gpt-resercher
image: registry.lumpiasty.xyz/gpt-researcher:latest
ports:
- containerPort: 8000
resources:
requests:
cpu: "2"
memory: "4Gi"
limits:
cpu: "3"
memory: "5Gi"
env:
- name: OPENAI_BASE_URL
value: https://openrouter.ai/api/v1
- name: OPENROUTER_API_KEY
valueFrom:
secretKeyRef:
name: openrouter
key: OPENROUTER_API_KEY
- name: OPENROUTER_LIMIT_RPS
value: "1"
- name: FAST_LLM
value: openrouter:google/gemini-2.0-flash-lite-001
- name: SMART_LLM
value: openrouter:google/gemini-2.5-flash-preview
- name: STRATEGIC_LLM
value: openrouter:google/gemini-2.5-flash-preview
- name: OLLAMA_BASE_URL
value: "http://ollama.ollama.svc.cluster.local:11434"
- name: EMBEDDING
value: "ollama:nomic-embed-text"
- name: RETRIEVER
value: tavily
- name: SCRAPER
value: tavily_extract
- name: TAVILY_API_KEY
valueFrom:
secretKeyRef:
name: tavily
key: TAVILY_API_KEY
---
apiVersion: v1
kind: Service
metadata:
name: gpt-resercher-service
namespace: gpt-researcher
spec:
selector:
app: gpt-resercher
ports:
- protocol: TCP
port: 80
targetPort: 8000

View File

@@ -0,0 +1,29 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: gpt-researcher
name: researcher
annotations:
cert-manager.io/cluster-issuer: letsencrypt
acme.cert-manager.io/http01-edit-in-place: "true"
nginx.ingress.kubernetes.io/proxy-buffering: "false"
nginx.ingress.kubernetes.io/proxy-read-timeout: 30m
nginx.org/websocket-services: "gpt-resercher-service"
spec:
ingressClassName: nginx
rules:
- host: researcher.lumpiasty.xyz
http:
paths:
- backend:
service:
name: gpt-resercher-service
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- researcher.lumpiasty.xyz
secretName: researcher-ingress

View File

@@ -0,0 +1,7 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- deployment.yaml
- ingress.yaml

View File

@@ -0,0 +1,5 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: gpt-researcher

16
monke/gpt-researcher.yaml Normal file
View File

@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: Secret
metadata:
name: tavily
namespace: gpt-researcher
stringData:
TAVILY_API_KEY: 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
---
apiVersion: v1
kind: Secret
metadata:
name: openrouter
namespace: gpt-researcher
stringData:
OPENROUTER_API_KEY: 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

View File

@@ -1,7 +1,7 @@
machine:
network:
interfaces:
- interface: enp4s0
- interface: enp5s0
addresses:
- 2001:470:61a3:100::3/64
- 192.168.1.35/24