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(service): add IPv6 and dual-stack configuration tests
    Add helm-unittest tests for IPv6 and dual-stack Service configuration:
    - Default behavior (no ipFamilyPolicy/ipFamilies set)
    - SingleStack, PreferDualStack, RequireDualStack policies
    - IPv4 only, IPv6 only configurations
    - Dual-stack with IPv4 primary and IPv6 primary
    - Combined policy and families configurations
    
    Add NOTES.txt with IPv6/dual-stack information:
    - Display configured IP family policy
    - Show IP families list
    - Warning when IPv6 is primary (probe compatibility note)
    - Warning when IPv6 used without policy
    
    Tests ensure IPv6 and dual-stack work correctly for all scenarios.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>
  • fix(ipv6): use httpGet probes by default for IPv4 and IPv6 compatibility
    Change default health probes from tcpSocket to httpGet to fix issue #68
    where pods fail to start in IPv6-only clusters due to incompatible health checks.
    
    Changes:
    - Change default livenessProbe and readinessProbe to use httpGet with /health endpoint
    - Add comprehensive IPv6 and dual-stack configuration documentation
    - Document ipFamilyPolicy options (SingleStack, PreferDualStack, RequireDualStack)
    - Document ipFamilies configuration for IPv4-only, IPv6-only, and dual-stack setups
    - Add IPv6 Configuration section to README with examples
    - Update Chart version from 2.5.0 to 2.5.1
    
    The httpGet probe works with both IPv4 and IPv6 out of the box, while tcpSocket
    may fail in IPv6-only environments. Jellyfin's /health endpoint is specifically
    designed for health checks and verifies both HTTP and database connectivity.
    
    Fixes: #68
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    Signed-off-by: Aleksei Sviridkin <f@lex.la>