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>
  • test(init): add tests for initContainers deprecation and extraInitContainers
    Add helm-unittest tests for init containers:
    - No init containers by default
    - extraInitContainers support (single and multiple)
    - Full container spec preservation (command, args, volumeMounts, securityContext)
    - Backward compatibility with deprecated initContainers parameter
    - Merging of initContainers and extraInitContainers
    - Correct ordering when both are specified
    
    Add NOTES.txt with init containers information:
    - Show count of configured init containers
    - Deprecation warning when old initContainers parameter is used
    - Migration guidance to extraInitContainers
    
    This fixes the critical bug where extraInitContainers didn't work and
    provides clear migration path from deprecated initContainers.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • fix(templates)!: deprecate initContainers in favor of extraInitContainers
    BREAKING CHANGE: The 'initContainers' parameter is now deprecated in favor
    of 'extraInitContainers' for naming consistency with 'extraContainers'.
    Both parameters will work until 2030 for backward compatibility.
    
    The previous implementation used '.Values.initContainers' in the template
    but 'extraInitContainers' was defined in values.yaml, causing the feature
    to be completely non-functional.
    
    Changes:
    - Fix extraInitContainers not working (was referencing wrong parameter)
    - Add deprecated 'initContainers' parameter to values.yaml with @deprecated tag
    - Update deployment.yaml to support both parameters with OR logic
    - Add TODO comment to remove initContainers support after 2030
    - Create NOTES.txt with:
      - Deprecation warning when using initContainers
      - Post-installation instructions for accessing Jellyfin
      - Persistence status information
      - Links to documentation
    - Improve extraInitContainers documentation with usage example
    - Bump chart version 2.5.0 -> 3.0.0 (major due to deprecation)
    - Add comprehensive changelog to artifacthub.io/changes
    
    Migration guide:
      Old: initContainers: [...]
      New: extraInitContainers: [...]
    
    The old parameter will continue to work but users will see a deprecation
    warning in NOTES.txt after installation.
    
    Follows best practices from community charts (Prometheus, Elastic, etc.)
    where 'extra*' prefix indicates user-provided extension points.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>