Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions k8s/localagi-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
apiVersion: v1
kind: Namespace
metadata:
name: localagi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: localagi
namespace: localagi
spec:
replicas: 1
selector:
matchLabels:
app: localagi
template:
metadata:
labels:
app: localagi
spec:
containers:
- name: localagi
image: mudler/localagi:latest
ports:
- containerPort: 3000
env:
- name: LOCALAGI_MODEL
value: "gemma-3-12b-it-qat"
- name: LOCALAGI_MULTIMODAL_MODEL
value: "minicpm-v-2_6"
- name: LOCALAGI_IMAGE_MODEL
value: "sd-1.5-ggml"
- name: LOCALAGI_TIMEOUT
value: "60s"
- name: LOCALAGI_STATE_DIR
value: "/var/lib/localagi"
- name: LOCALAGI_LOCALRAG_URL
value: "http://localrecall.local:8080"
volumeMounts:
- name: localagi-data
mountPath: "/var/lib/localagi"
volumes:
- name: localagi-data
persistentVolumeClaim:
claimName: localagi-data
---
apiVersion: v1
kind: Service
metadata:
name: localagi
namespace: localagi
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 3000
selector:
app: localagi
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: localagi
namespace: localagi
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: localagi
minReplicas: 1
maxReplicas: 5
targetCPUUtilizationPercentage: 80
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: localagi-data
namespace: localagi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
28 changes: 28 additions & 0 deletions k8s/localagi-ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: localagi-ingress
namespace: localagi
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/use-regex: "true"
kubernetes.io/ingress.class: "nginx"

spec:
rules:
- http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: localagi
port:
number: 80
- path: /
pathType: Prefix
backend:
service:
name: localagi
port:
number: 80
71 changes: 71 additions & 0 deletions k8s/localrecall-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
apiVersion: v1
kind: Namespace
metadata:
name: localrecall
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: localrecall
namespace: localrecall
spec:
replicas: 1
selector:
matchLabels:
app: localrecall
template:
metadata:
labels:
app: localrecall
spec:
containers:
- name: localrecall
image: mudler/localrecall:latest
ports:
- containerPort: 8080
volumeMounts:
- name: localrecall-data
mountPath: "/var/lib/localrecall"
volumes:
- name: localrecall-data
persistentVolumeClaim:
claimName: localrecall-data
---
apiVersion: v1
kind: Service
metadata:
name: localrecall
namespace: localrecall
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 8080
selector:
app: localrecall
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: localrecall
namespace: localrecall
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: localrecall
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 75
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: localrecall-data
namespace: localrecall
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi