Aleksei SviridkinandClaude 6c59c59f9e test(charts): add deployment parameter tests and validation suite
Phase 3: Create comprehensive tests for remaining deployment parameters
and validation of mutual exclusions.

New test files:
- deployment_resources_test.yaml: Resources (CPU/memory/GPU), extra volumes,
  volume mounts, sidecar containers (70+ tests)
- deployment_image_test.yaml: Image repository, tag, pullPolicy,
  imagePullSecrets for various registries (60+ tests)
- deployment_jellyfin_test.yaml: Jellyfin-specific config including DLNA,
  metrics lifecycle hooks, command/args/env variables (70+ tests)
- deployment_metadata_test.yaml: Names, labels, annotations, deployment
  strategy, revision history, replica count (70+ tests)
- validation_mutual_exclusions_test.yaml: Critical validation tests using
  failedTemplate for NetworkPolicy conflicts, ServiceMonitor dependencies,
  persistence validations, port ranges (80+ tests)

Critical validations tested:
- NetworkPolicy vs DLNA/hostNetwork mutual exclusion (failedTemplate)
- ServiceMonitor requires both metrics.enabled AND serviceMonitor.enabled
- DLNA automatically enables hostNetwork and sets correct dnsPolicy
- Persistence type validations (pvc/hostPath/emptyDir)
- Port range validations (service.port: 1-65535, nodePort: 30000-32767)
- DNS policy automatic configuration based on hostNetwork

Edge cases covered:
- Empty configuration arrays/objects
- Multiple image pull secrets
- Various env variable types (value, secretKeyRef, configMapKeyRef, fieldRef)
- GPU and ephemeral-storage resources
- All service types (ClusterIP, NodePort, LoadBalancer, ExternalName)

Total: 5 new test files, 350+ new test cases

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
6c59c59f9e · 2025-11-08 17:31:06 +03:00
165 Commits
2024-05-20 17:24:10 -06:00
2024-05-20 17:23:21 -06:00

Jellyfin Helm Charts Repository

This repository contains Helm charts for the jellyfin project.

Repository Structure

Each Helm chart is stored in its own directory. Each chart follows the standard Helm chart structure:

jellyfin-helm/
├── jellyfin/
│   ├── Chart.yaml
│   ├── values.yaml
│   ├── templates/
│   └── ...
├── chart2/
│   ├── Chart.yaml
│   ├── values.yaml
│   ├── templates/
│   └── ...
└── ...
  • Chart.yaml: Contains metadata about the chart (name, version, app version, etc.).
  • values.yaml: Default configuration values for the chart.
  • templates/: The Kubernetes resource templates (YAML files) that Helm uses to deploy the chart.

How to Use the Charts

1. Add this Repository

To use the charts in this repository, first add the repository to Helm:

helm repo add jellyfin https://jellyfin.github.io/jellyfin-helm
helm repo update

2. Install a Chart

To install a chart from this repository, use the following command:

helm install <release-name> jellyfin/<chart-name>

3. Customize Installation

You can customize the installation by passing in custom values via the --set flag or by using a values.yaml file:

helm install <release-name> jellyfin/<chart-name> --set key=value

or

helm install <release-name> jellyfin/<chart-name> -f custom-values.yaml

Contributing

Feel free to contribute to this repository by:

  • Submitting new charts.
  • Fixing bugs or issues.
  • Improving documentation.

To contribute, fork this repository, create a new branch, and submit a pull request with your changes.

License

This repository is licensed under the MIT License. See the LICENSE file for more details.

S
Description
Kubernetes Helm Chart for Jellyfin
Readme GPL-2.0
541 KiB
0 Stars 1 Watchers 0 Forks
Languages
Smarty 100%