Commit Graph
5 Commits
  • ci(release): format release notes with changelog and emojis
    Automatically extract and format changelog from artifacthub.io/changes
    annotations in Chart.yaml and update GitHub release notes.
    
    Changes:
    - Install yq for YAML parsing
    - Add step to extract changelog from Chart.yaml
    - Format changelog with emojis based on change kind (added, fixed, etc.)
    - Build comprehensive release notes with:
      - Chart and app versions
      - Formatted changelog
      - Installation and upgrade instructions
      - Links to documentation
    - Update release notes after chart-releaser creates the release
    
    This addresses the issue where releases only contained "A Helm chart for
    Jellyfin Media Server" without any information about what changed.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • test(deployment): add revisionHistoryLimit tests and deployment notes
    Add helm-unittest tests for revisionHistoryLimit:
    - Default value (3) verification
    - Custom values support (0, 1, 5, 100)
    - Ability to disable revision history
    
    Add NOTES.txt with revisionHistoryLimit information:
    - Show configured revision history limit
    - Warning when disabled (0)
    - Note for minimal history (1)
    - Rollback command example for normal values
    
    This parameter controls how many old ReplicaSets are retained
    for rollback purposes, reducing etcd storage usage.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • feat(deployment): add revisionHistoryLimit parameter for rollback history control
    Add revisionHistoryLimit parameter to control how many old ReplicaSets are
    retained for rollback purposes, reducing etcd storage usage compared to
    Kubernetes default of 10.
    
    Changes:
    - Add revisionHistoryLimit parameter in values.yaml (default: 3)
    - Add revisionHistoryLimit to deployment.yaml spec
    - Provide comprehensive documentation with recommendations
    - Bump chart version 2.5.0 -> 2.5.1 (patch - minor enhancement)
    - Add changelog annotation for Artifact Hub
    
    Benefits:
    - Reduce etcd storage usage (especially important in large clusters)
    - Maintain reasonable rollback capability (3 previous versions)
    - Allow customization based on deployment needs
    - Can be set to null to use Kubernetes default (10)
    
    Default rationale:
    - 3 revisions provides sufficient rollback capability for most use cases
    - Reduces cluster resource usage (etcd storage, API server load)
    - Follows best practices from production Kubernetes deployments
    - Users can override if they need more history
    
    Example usage:
      # Use default (3 revisions)
      revisionHistoryLimit: 3
    
      # Increase for critical deployments
      revisionHistoryLimit: 10
    
      # Use Kubernetes default (10)
      revisionHistoryLimit: null
    
      # Disable history (not recommended)
      revisionHistoryLimit: 0
    
    See: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • docs(notes): add deployment notes with troubleshooting references
    Add NOTES.txt with:
    - Basic access instructions (Ingress or port-forward)
    - Reference to troubleshooting documentation in README
    - Links to Jellyfin documentation
    
    This complements the inotify troubleshooting documentation added
    in README.md.gotmpl, making users aware of available resources.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • docs(troubleshooting): add inotify limits documentation and workaround
    Add comprehensive troubleshooting documentation for inotify instance limit
    errors that cause Jellyfin crashes in environments with many containers.
    
    Changes:
    - Add Troubleshooting section to README with inotify limits explanation
    - Document proper solution: increase kernel limits via sysctl
    - Provide workaround for managed clusters: DOTNET_USE_POLLING_FILE_WATCHER
    - Add commented example in values.yaml for easy copy-paste
    - Update Chart version from 2.5.0 to 2.5.1
    - Add Artifact Hub changelog annotation
    
    The proper solution is to increase inotify limits on Kubernetes nodes:
    ```bash
    sysctl -w fs.inotify.max_user_instances=512
    ```
    
    For managed Kubernetes where node access is restricted, users can use the
    polling workaround (less efficient but functional):
    ```yaml
    jellyfin:
      env:
        - name: DOTNET_USE_POLLING_FILE_WATCHER
          value: "1"
    ```
    
    This addresses the crash issue mentioned in #64.
    
    Fixes: #64
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>