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>
This commit is contained in:
Aleksei SviridkinandClaude authored and Cody Robibero committed 2025-11-07 17:43:20 -07:00
1 parent 2401a45bb1
commit 68ebc46dbd
3 files changed
+14 -1

No files matched your search

+6
View File
@@ -4,6 +4,12 @@
# -- Number of Jellyfin replicas to start. Should be left at 1.
replicaCount: 1
# -- Number of old ReplicaSets to retain for rollback history.
# Set to 0 to disable revision history (not recommended).
# If not specified, Kubernetes defaults to 10.
# See: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit
revisionHistoryLimit: 3
# -- Image pull secrets to authenticate with private repositories.
# See: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []