Add helm-unittest tests for startup probe:
- Default configuration verification (tcpSocket, timing)
- Custom timing parameters (initialDelaySeconds, periodSeconds, failureThreshold)
- Alternative probe types (httpGet)
- Custom port support
- Timeout window calculation
Add NOTES.txt with startup probe information:
- Display max startup time calculation
- Explain startup probe purpose for large libraries
- Warning for very long startup timeouts
Tests ensure startup probe works correctly for slow initial startup scenarios.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Add startupProbe to give Jellyfin sufficient time to start, especially
with large media libraries or slow storage. This prevents Kubernetes
from killing the pod during initial startup phase.
Changes:
- Add startupProbe configuration in values.yaml with sensible defaults
- failureThreshold: 30 (allows up to 5 minutes for startup)
- periodSeconds: 10
- Uses tcpSocket check on http port
- Update deployment.yaml to include startupProbe from values
- Bump chart version 2.5.0 -> 2.5.1
- Add changelog annotation for Artifact Hub
Benefits:
- Prevents pod restarts during slow initial startup (large media libraries)
- Liveness and readiness probes remain responsive after successful startup
- Fully configurable and can be disabled by setting startupProbe: null
- No breaking changes, backward compatible
The startup probe gives Jellyfin up to 5 minutes (30 attempts * 10 seconds)
to complete initialization. After the first success, liveness and readiness
probes take over with their normal timing.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>