Resolve conflicts by combining inotify troubleshooting documentation with
all features from master-vnext integration branch:
- inotify troubleshooting docs (this branch)
- HTTPRoute support
- envFrom support
- Startup probe
- Cache persistence
- IPv6 dual-stack
- revisionHistoryLimit
- initContainers deprecation
Updated version to 3.0.0 and merged all changelog entries.
Regenerated README.md from template.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Resolve conflicts by combining NetworkPolicy feature with all features from
master-vnext integration branch:
- NetworkPolicy support (this branch)
- HTTPRoute support
- envFrom support
- Startup probe
- Cache persistence
- IPv6 dual-stack
- revisionHistoryLimit
- initContainers deprecation
Updated version to 3.0.0 and merged all changelog entries.
Regenerated README.md from template.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Regenerate README.md from README.md.gotmpl template using helm-docs.
This adds the complete NetworkPolicy documentation section and updates
the values table with all networkPolicy configuration parameters.
The generated documentation includes:
- Updated version badge (2.6.0)
- Complete networkPolicy values table with descriptions
- Network Security section with examples and troubleshooting
- All parameters from values.yaml with auto-generated descriptions
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
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>
Add dedicated cache volume configuration to reduce wear on SD cards and improve
performance by allowing cache to be stored on separate storage.
Changes:
- Add persistence.cache configuration in values.yaml with support for:
- PVC (default type when enabled)
- hostPath for direct host mount
- emptyDir (default when disabled)
- Add cache volume mount at /cache in deployment
- Add cache PersistentVolumeClaim template
- Support for existing PVC via existingClaim
- Configurable size (default 10Gi), accessMode, storageClass, and annotations
- Update Chart version from 2.5.0 to 2.5.1
- Add Artifact Hub changelog annotation
The cache volume is disabled by default to maintain backward compatibility.
Users can enable it via:
```yaml
persistence:
cache:
enabled: true
type: pvc
size: 10Gi
```
This addresses the use case mentioned in #62 where users want to avoid SD card
wear by storing cache on separate persistent storage.
Fixes: #62
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
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>
Add support for Kubernetes Gateway API HTTPRoute resource as a modern
alternative to Ingress. The implementation follows the same pattern as
the existing Ingress template.
Changes:
- Add HTTPRoute template with configurable parentRefs, hostnames, and rules
- Add httpRoute section to values.yaml with generic examples
- Update Chart version from 2.5.0 to 2.6.0
- Add Artifact Hub changelog annotation
- Add HTTPRoute documentation to README
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>