k8s-and-chill/rendered/envs/production/ocis/deployment-storagesystem.yaml
Felix Wolf 9f8714d767 fix(ocis): Add memory requests to prevent node overcommit
Sets default resource requests (64Mi memory, 10m CPU) for all oCIS
services, with 96Mi for heavier pods (proxy, nats, thumbnails). Without
requests, all pods were BestEffort and piled onto node 1.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 12:54:43 +02:00

134 lines
4 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
labels:
app.kubernetes.io/instance: ocis
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ocis
app.kubernetes.io/version: 7.1.4
helm.sh/chart: ocis-0.7.0
name: storagesystem
namespace: ocis
spec:
replicas: 1
selector:
matchLabels:
app: storagesystem
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: storagesystem
app.kubernetes.io/instance: ocis
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ocis
app.kubernetes.io/version: 7.1.4
helm.sh/chart: ocis-0.7.0
spec:
containers:
- args:
- storage-system
- server
command:
- ocis
env:
- name: MICRO_REGISTRY
value: nats-js-kv
- name: MICRO_REGISTRY_ADDRESS
value: nats:9233
- name: OCIS_CACHE_STORE
value: nats-js-kv
- name: OCIS_CACHE_STORE_NODES
value: nats:9233
- name: OCIS_CACHE_DISABLE_PERSISTENCE
value: "true"
- name: STORAGE_SYSTEM_LOG_COLOR
value: "false"
- name: STORAGE_SYSTEM_LOG_LEVEL
value: info
- name: STORAGE_SYSTEM_LOG_PRETTY
value: "false"
- name: STORAGE_SYSTEM_TRACING_ENABLED
value: "false"
- name: STORAGE_SYSTEM_TRACING_TYPE
value: jaeger
- name: STORAGE_SYSTEM_TRACING_ENDPOINT
value: null
- name: STORAGE_SYSTEM_TRACING_COLLECTOR
value: null
- name: STORAGE_SYSTEM_DEBUG_PPROF
value: "false"
- name: STORAGE_SYSTEM_GRPC_ADDR
value: 0.0.0.0:9215
- name: STORAGE_SYSTEM_DEBUG_ADDR
value: 0.0.0.0:9217
- name: STORAGE_SYSTEM_HTTP_ADDR
value: 0.0.0.0:9216
- name: STORAGE_SYSTEM_DATA_SERVER_URL
value: http://storagesystem:9216/data
- name: STORAGE_SYSTEM_DRIVER
value: ocis
- name: STORAGE_SYSTEM_JWT_SECRET
valueFrom:
secretKeyRef:
key: storage-system-jwt-secret
name: storage-system-jwt-secret
- name: OCIS_SYSTEM_USER_API_KEY
valueFrom:
secretKeyRef:
key: api-key
name: storage-system
- name: OCIS_SYSTEM_USER_ID
valueFrom:
secretKeyRef:
key: user-id
name: storage-system
image: owncloud/ocis:7.1.4
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthz
port: metrics-debug
initialDelaySeconds: 60
periodSeconds: 20
timeoutSeconds: 10
name: storagesystem
ports:
- containerPort: 9215
name: grpc
- containerPort: 9216
name: http
- containerPort: 9217
name: metrics-debug
resources:
requests:
cpu: 10m
memory: 64Mi
securityContext:
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
- mountPath: /tmp
name: tmp-volume
- mountPath: /var/lib/ocis
name: storagesystem-data
nodeSelector: {}
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
volumes:
- emptyDir: {}
name: tmp-volume
- name: storagesystem-data
persistentVolumeClaim:
claimName: storagesystem-data