From a3b6c7966431c2b5f1600e8f5e4521dd9c35b887 Mon Sep 17 00:00:00 2001 From: juvdiaz Date: Wed, 10 Jun 2026 10:27:26 -0600 Subject: [PATCH] Add Redis cache for website translations --- apps/website/web-app.yaml | 93 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/apps/website/web-app.yaml b/apps/website/web-app.yaml index a810785..15ce711 100644 --- a/apps/website/web-app.yaml +++ b/apps/website/web-app.yaml @@ -72,6 +72,12 @@ spec: value: http://192.168.100.68:11434 - name: OLLAMA_MODEL value: llama3.2:3b + - name: TRANSLATION_REDIS_HOST + value: website-redis + - name: TRANSLATION_REDIS_PORT + value: "6379" + - name: TRANSLATION_CACHE_PREFIX + value: translation:v1 ports: - containerPort: 8080 name: http @@ -125,6 +131,93 @@ spec: selector: app: php-website --- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: website-redis + namespace: website-production + labels: + app: website-redis +spec: + replicas: 1 + selector: + matchLabels: + app: website-redis + template: + metadata: + labels: + app: website-redis + spec: + nodeSelector: + kubernetes.io/hostname: raspberry + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + fsGroup: 999 + fsGroupChangePolicy: OnRootMismatch + containers: + - name: redis + image: redis:7.4-alpine + imagePullPolicy: IfNotPresent + args: + - redis-server + - --appendonly + - "no" + - --save + - "" + - --maxmemory + - 128mb + - --maxmemory-policy + - allkeys-lru + ports: + - containerPort: 6379 + name: redis + readinessProbe: + tcpSocket: + port: redis + initialDelaySeconds: 3 + periodSeconds: 10 + livenessProbe: + tcpSocket: + port: redis + initialDelaySeconds: 15 + periodSeconds: 30 + resources: + requests: + cpu: 25m + memory: 64Mi + limits: + memory: 160Mi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + volumeMounts: + - name: redis-data + mountPath: /data + - name: tmp + mountPath: /tmp + volumes: + - name: redis-data + emptyDir: {} + - name: tmp + emptyDir: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: website-redis + namespace: website-production +spec: + ports: + - port: 6379 + targetPort: redis + selector: + app: website-redis +--- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: