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
45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
# JVM (Spring Boot / Scala / Kotlin)
|
||
|
||
## Startup delay
|
||
|
||
Spring Boot loads the full application context before accepting HTTP. Cold starts typically take 60–120 seconds depending on the number of beans and auto-configuration classes.
|
||
|
||
```yaml
|
||
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.
|
||
|
||
```yaml
|
||
env:
|
||
- name: JAVA_OPTS
|
||
value: "-Xmx512m -Xms256m"
|
||
resources:
|
||
limits:
|
||
memory: 768Mi
|
||
requests:
|
||
memory: 512Mi
|
||
```
|
||
|
||
Keep `-Xmx` 25–33% below the container limit to leave room for off-heap memory (metaspace, direct buffers, GC overhead).
|
||
|
||
## Resources
|
||
|
||
512Mi–1Gi request is typical. JVM startup can spike higher — use `requests` to reserve and `limits` to cap.
|