Commit Graph
2 Commits
  • test(probes): add startup probe tests and deployment notes
    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>
  • feat(probes): add startup probe for handling slow initial startup
    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>