Files
wild-directory/docs/jvm.md
Paul Payne 4d983819c9 feat(supabase): add services and statefulset for database management
feat(synapse): update ingress to use traefik ingress class and bump version

feat(syncthing-discovery): introduce syncthing discovery service with deployment and ingress

feat(syncthing-relay): add syncthing relay server with deployment and ingress configuration

fix(taiga): update liveness and readiness probes to use tcpSocket for health checks

fix(taiga): change PVC access mode to ReadWriteMany for media and static storage

feat(traefik): add icon and ignore rules for traefik service

docs(ushahidi): add notes for Redis configuration and Laravel startup probe adjustments

feat(ushahidi): implement dedicated Redis deployment for Ushahidi

fix(vllm): update deployment strategy and readiness/liveness probes for improved stability

fix(writefreely): pin writefreely image version to v0.15.1 for consistency

docs(zulip): add notes for TLS-terminating reverse proxy configuration and expected behavior
2026-07-02 21:34:27 +00:00

1.1 KiB
Raw Blame History

JVM (Spring Boot / Scala / Kotlin)

Startup delay

Spring Boot loads the full application context before accepting HTTP. Cold starts typically take 60120 seconds depending on the number of beans and auto-configuration classes.

livenessProbe:
  tcpSocket:
    port: 8080
  initialDelaySeconds: 120
  periodSeconds: 30
  failureThreshold: 6
readinessProbe:
  httpGet:
    path: /actuator/health
    port: 8080
  initialDelaySeconds: 90
  periodSeconds: 15
  failureThreshold: 3

If the app exposes a Spring Actuator health endpoint, prefer it for readiness over the root path.

Heap limit

Set -Xmx to keep the heap within the container memory limit. The JVM does not automatically respect cgroup limits on older JDK versions.

env:
  - name: JAVA_OPTS
    value: "-Xmx512m -Xms256m"
resources:
  limits:
    memory: 768Mi
  requests:
    memory: 512Mi

Keep -Xmx 2533% below the container limit to leave room for off-heap memory (metaspace, direct buffers, GC overhead).

Resources

512Mi1Gi request is typical. JVM startup can spike higher — use requests to reserve and limits to cap.