9e5d0b8b2e1519c18b5323cbb0662e47896b6948
Phase 4: Create integration tests for real-world scenarios and regression tests to lock down all default values. New test files: - integration_common_configs_test.yaml: 12 real-world deployment scenarios including DLNA home server, secure production, Prometheus monitoring, IPv6-only/dual-stack, cloud providers (AWS IRSA, GCP WI), air-gapped, minimal resource-constrained, Gateway API HTTPRoute (50+ tests) - regression_defaults_test.yaml: Comprehensive verification of all default values across all resources to prevent accidental changes. Covers deployment, service, serviceAccount, persistence, probes, labels, API versions, critical defaults (80+ tests) Integration scenarios tested: 1. DLNA Home Media Server (hostNetwork, NodePort, NAS storage) 2. Secure Production (NetworkPolicy, security contexts, resources, ingress+TLS) 3. Kubernetes with Prometheus (metrics, ServiceMonitor, custom NetworkPolicy) 4. IPv6-only cluster (SingleStack IPv6) 5. Dual-stack networking (IPv4+IPv6, LoadBalancer) 6. Development environment (emptyDir, latest tag, debug logging) 7. High Availability attempt (multiple replicas, ReadWriteMany, pod anti-affinity) 8. AWS with IRSA (EKS role annotations, gp3 storage, NLB, ALB ingress) 9. GCP with Workload Identity (GKE service account annotations) 10. Air-gapped environment (private registry, restrictive NetworkPolicy) 11. Minimal resource-constrained (low CPU/memory limits, emptyDir) 12. Gateway API (HTTPRoute with multiple hostnames) Regression tests lock down: - All default values: replicas=1, revisionHistoryLimit=3, ClusterIP service, port 8096, IfNotPresent pullPolicy, ClusterFirst dnsPolicy - Persistence defaults: config 5Gi, media 25Gi, cache emptyDir - Probe defaults: startup (tcpSocket, 0/10/30), liveness/readiness (httpGet) - Feature flags: DLNA off, metrics off, NetworkPolicy off, ServiceMonitor off - API versions and naming patterns - Critical invariants that must never change Total: 2 new test files, 130+ new test cases Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
9e5d0b8b2e
·
2025-11-08 17:33:22 +03:00
166 Commits
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.
Languages
Smarty
100%