v202604240135longchunk image shipped with only 1 file in the baked corpus (NEXT-SPRINT.md) because the corpus tar was accidentally built from the Intranet.Web working directory instead of the Notes repo root. Rebuilt from the right cwd; new image has the expected 370 *.md + *.html files at /srv/flowercore-notes/docs/. Same long-chunk handling code as v202604240135longchunk; just a clean rebuild. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
124 lines
2.7 KiB
YAML
124 lines
2.7 KiB
YAML
apiVersion: v1
|
||
kind: Namespace
|
||
metadata:
|
||
name: intranet
|
||
---
|
||
apiVersion: v1
|
||
kind: PersistentVolumeClaim
|
||
metadata:
|
||
name: intranet-vector-store
|
||
namespace: intranet
|
||
spec:
|
||
accessModes:
|
||
- ReadWriteOnce
|
||
storageClassName: longhorn
|
||
resources:
|
||
requests:
|
||
storage: 1Gi
|
||
---
|
||
apiVersion: apps/v1
|
||
kind: Deployment
|
||
metadata:
|
||
name: intranet-web
|
||
namespace: intranet
|
||
labels:
|
||
app: intranet-web
|
||
spec:
|
||
replicas: 1
|
||
strategy:
|
||
type: Recreate
|
||
selector:
|
||
matchLabels:
|
||
app: intranet-web
|
||
template:
|
||
metadata:
|
||
labels:
|
||
app: intranet-web
|
||
spec:
|
||
containers:
|
||
- name: intranet-web
|
||
image: localhost/fc-intranet-web:v202604240140longchunk
|
||
imagePullPolicy: Never
|
||
ports:
|
||
- containerPort: 5300
|
||
name: http
|
||
env:
|
||
- name: ASPNETCORE_ENVIRONMENT
|
||
value: Production
|
||
- name: ASPNETCORE_URLS
|
||
value: "http://+:5300"
|
||
# Bulk corpus indexing on edge1 Pi 5 takes ~6s/chunk × 5665 chunks
|
||
# ≈ 9 hours. BLUEJAY-WS GPU (R9700, 32GB VRAM) does the same work
|
||
# in minutes. Memory: feedback_pi5_nomic_embed_slow.
|
||
- name: IntranetSearch__OllamaBaseUrl
|
||
value: "http://10.0.56.20:11434"
|
||
resources:
|
||
requests:
|
||
memory: "256Mi"
|
||
cpu: "100m"
|
||
limits:
|
||
memory: "1Gi"
|
||
cpu: "1000m"
|
||
livenessProbe:
|
||
httpGet:
|
||
path: /health
|
||
port: 5300
|
||
initialDelaySeconds: 30
|
||
periodSeconds: 30
|
||
readinessProbe:
|
||
httpGet:
|
||
path: /health
|
||
port: 5300
|
||
initialDelaySeconds: 10
|
||
periodSeconds: 10
|
||
volumeMounts:
|
||
- name: vector-store
|
||
mountPath: /data
|
||
volumes:
|
||
- name: vector-store
|
||
persistentVolumeClaim:
|
||
claimName: intranet-vector-store
|
||
---
|
||
apiVersion: v1
|
||
kind: Service
|
||
metadata:
|
||
name: intranet-web
|
||
namespace: intranet
|
||
spec:
|
||
selector:
|
||
app: intranet-web
|
||
ports:
|
||
- port: 5300
|
||
targetPort: 5300
|
||
name: http
|
||
---
|
||
apiVersion: cert-manager.io/v1
|
||
kind: Certificate
|
||
metadata:
|
||
name: intranet-tls
|
||
namespace: intranet
|
||
spec:
|
||
secretName: intranet-tls
|
||
issuerRef:
|
||
name: step-ca-acme
|
||
kind: ClusterIssuer
|
||
dnsNames:
|
||
- intranet.iamworkin.lan
|
||
---
|
||
apiVersion: traefik.io/v1alpha1
|
||
kind: IngressRoute
|
||
metadata:
|
||
name: intranet
|
||
namespace: intranet
|
||
spec:
|
||
entryPoints:
|
||
- websecure
|
||
routes:
|
||
- match: Host(`intranet.iamworkin.lan`)
|
||
kind: Rule
|
||
services:
|
||
- name: intranet-web
|
||
port: 5300
|
||
tls:
|
||
secretName: intranet-tls
|