Zum Inhalt

// installation

RAGSRV-Support-Konfiguration

Gilt für

Produkt: Server · Zielgruppe: Platform Operator

Übersicht

Ragsrv-Support ist ein Begleitdienst für Ragsrv.

Helm-Chart-Konfiguration

Grundeinstellungen

Parameter Standard Beschreibung
replicaCount 1 Anzahl der Pod-Replikate des Support-Dienstes
image.repository gitea.basebox.health/basebox-distribution/ragsrv-support Container-Image-Repository
image.pullPolicy IfNotPresent Image-Pull-Policy
image.tag latest Image-Tag
fullnameOverride ragsrv-support Vollständigen Namen des Deployments überschreiben

Dienstkonfiguration

Parameter Standard Beschreibung
service.type ClusterIP Kubernetes-Service-Typ
service.port 8000 Service-Port

Health-Checks

Parameter Beschreibung
livenessProbe Einfache Shell-Befehl-Probe (/bin/true)
readinessProbe Einfache Shell-Befehl-Probe (/bin/true)

Umgebungsvariablen

Variable Standard Beschreibung
API_KEY Erforderlich API-Schlüssel zur Authentifizierung (muss zu RAGSRV passen)
HOST 0.0.0.0 Server-Host, an den gebunden wird
SERVER_PORT 3001 Server-Port
LOG_LEVEL trace Log-Level
API_KEY_HEADER X-API-KEY HTTP-Header-Name für den API-Schlüssel
LOG_HEALTH_CHECKS false Health-Check-Anfragen protokollieren

OAuth-Konfiguration (optional)

Variable Beschreibung
REQUIRE_AUTH Authentifizierung ein-/ausschalten
OAUTH_IDP_URL URL des OAuth-Identitätsanbieters
OAUTH_IDP_AUD OAuth-Audience-Claim
OAUTH_JWKS_URL JWKS-Endpunkt zur Token-Prüfung

Integrationsvariablen

Variable Beschreibung
SUPPORT_SERVICE_URL Selbstreferenz-URL (für internes Routing)
WEBHOOK_STATE_URL Webhook-URL für Statusaktualisierungen
OWNER_NAMESPACE_UUID Standard-Namespace-UUID
ALLOWED_IPS Kommagetrennte Liste erlaubter IPs

GraphQL-Konfiguration

Variable Standard Beschreibung
GRAPHQL_ALLOW_INTROSPECTION true GraphQL-Introspektion erlauben
GRAPHQL_GRAPHIQL true GraphiQL-Oberfläche aktivieren

Speicherkonfiguration

Volume für den Modell-Cache

Für persistente Modellspeicherung:

volumes:
  - name: models-cache
    persistentVolumeClaim:
      claimName: ragsrv-support-models

volumeMounts:
  - name: models-cache
    mountPath: /models

extraObjects:
  ragsrv-support-models:
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: ragsrv-support-models
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi

Konfigurationsbeispiele

Produktivkonfiguration

# values-production.yaml
replicaCount: 2

image:
  repository: gitea.basebox.health/basebox-distribution/ragsrv-support
  tag: "v1.2.3"
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  port: 8000

resources:
  requests:
    cpu: 4000m
    memory: 16Gi
    nvidia.com/gpu: 1
  limits:
    cpu: 8000m
    memory: 32Gi
    nvidia.com/gpu: 1

livenessProbe:
  httpGet:
    path: /health
    port: http
  initialDelaySeconds: 90
  periodSeconds: 30
  failureThreshold: 3

readinessProbe:
  httpGet:
    path: /health
    port: http
  initialDelaySeconds: 60
  periodSeconds: 10
  failureThreshold: 5

volumes:
  - name: models-cache
    persistentVolumeClaim:
      claimName: ragsrv-support-models
  - name: ragsrv-tmp
    persistentVolumeClaim:
      claimName: nfs-shared

volumeMounts:
  - name: models-cache
    mountPath: /models
  - name: ragsrv-tmp
    mountPath: /tmp/ragsrv

nodeSelector:
  nvidia.com/gpu: "true"

env:
  API_KEY: "<must-match-ragsrv-api-key>"
  LOG_LEVEL: "info"
  HOST: "0.0.0.0"
  SERVER_PORT: "8000"
  REQUIRE_AUTH: "true"
  LOG_HEALTH_CHECKS: "false"
  API_KEY_HEADER: "X-API-KEY"
  GRAPHQL_ALLOW_INTROSPECTION: "false"
  GRAPHQL_GRAPHIQL: "false"

extraObjects:
  ragsrv-support-models:
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: ragsrv-support-models
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: fast-ssd
      resources:
        requests:
          storage: 50Gi

Installation

# Install ragsrv-support
helm install ragsrv-support oci://gitea.basebox.health/basebox-distribution/helm/ragsrv-support \
  --values values-production.yaml \
  --namespace basebox \
  --create-namespace

# Verify
kubectl get pods -n basebox -l app.kubernetes.io/name=ragsrv-support

Integration

RAGSRV-Support muss zusammen mit RAGSRV bereitgestellt werden. Stellen Sie sicher, dass der API_KEY in beiden Diensten übereinstimmt:

# ragsrv values
env:
  API_KEY: "same-secure-key"
  SUPPORT_SERVICE_URL: "http://ragsrv-support:8000"

# ragsrv-support values
env:
  API_KEY: "same-secure-key"