# Koodo Reader Helm Chart Helm chart для развёртывания [Koodo Reader](https://github.com/koodo-reader/koodo-reader) - современного читателя электронных книг с возможностями синхронизации и резервного копирования. ## Описание Koodo Reader - это кроссплатформенная программа для чтения электронных книг, которая поддерживает множество форматов включая EPUB, PDF, MOBI, AZW3, и другие. Приложение предоставляет удобный веб-интерфейс для чтения и управления библиотекой книг. ## Установка Чарт автоматически развёртывается через ArgoCD ApplicationSet при добавлении values файла в `values/` директорию. ### Ручная установка (для тестирования) ```bash helm install koodo-reader ./koodo-reader -f values/home.yaml ``` ## Конфигурация ### Основные параметры | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `replicaCount` | Количество реплик | `1` | | `image.repository` | Docker образ | `ghcr.io/koodo-reader/koodo-reader` | | `image.tag` | Версия образа | `1.7.1` | | `image.pullPolicy` | Политика загрузки образа | `IfNotPresent` | ### Service | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `service.enabled` | Включить Service | `true` | | `service.type` | Тип Service | `ClusterIP` | | `service.port` | Порт Service | `80` | ### Ingress | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `ingress.enabled` | Включить Ingress | `false` | | `ingress.className` | Ingress class | `nginx` | | `ingress.hosts` | Список хостов | `[]` | | `ingress.tls` | TLS конфигурация | `[]` | ### Persistence | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `persistence.enabled` | Включить постоянное хранилище | `false` | | `persistence.size` | Размер PVC | `1Gi` | | `persistence.storageClass` | Storage class | `""` | | `persistence.accessModes` | Режимы доступа | `[ReadWriteOnce]` | ### Resources | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `resources.limits.cpu` | CPU лимит | не установлен | | `resources.limits.memory` | Memory лимит | не установлен | | `resources.requests.cpu` | CPU запрос | не установлен | | `resources.requests.memory` | Memory запрос | не установлен | ### Autoscaling | Параметр | Описание | Значение по умолчанию | |----------|----------|----------------------| | `autoscaling.enabled` | Включить HPA | `false` | | `autoscaling.minReplicas` | Минимум реплик | `1` | | `autoscaling.maxReplicas` | Максимум реплик | `3` | | `autoscaling.targetCPUUtilizationPercentage` | Целевая загрузка CPU | `80` | ## Примеры использования ### Минимальная конфигурация ```yaml ingress: enabled: true hosts: - host: koodo-reader.example.com paths: - path: / pathType: Prefix ``` ### Конфигурация с хранилищем ```yaml persistence: enabled: true size: 10Gi storageClass: "fast-ssd" resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 128Mi ``` ### Конфигурация с TLS ```yaml ingress: enabled: true className: nginx annotations: cert-manager.io/cluster-issuer: letsencrypt-prod hosts: - host: books.example.com paths: - path: / pathType: Prefix tls: - secretName: koodo-reader-tls hosts: - books.example.com ``` ## Развёртывание через ArgoCD Этот чарт разработан для автоматического развёртывания через ArgoCD ApplicationSet. При создании файла `values/home.yaml` автоматически создастся Application с именем `home-koodo-reader` в namespace `home-koodo-reader`. ### Конфигурация для вашего окружения В файле `values/home.yaml` уже настроено: - Домен: `koodo.invuneon.ru` - TLS сертификат через cert-manager с issuer `letsencrypt-charts-issuer` - Persistent storage на 5Gi - Resource limits (CPU: 200m, Memory: 256Mi) ## Доступ к приложению После развёртывания приложение будет доступно по адресу: **https://koodo.invuneon.ru** Для локального доступа можно использовать port-forward: ```bash kubectl port-forward -n home-koodo-reader svc/koodo-reader 8080:80 ``` Затем открыть в браузере: http://localhost:8080 ## Поддерживаемые форматы - EPUB (2, 3) - PDF - MOBI - AZW3 - FB2 - CBZ, CBR (комиксы) - MD (Markdown) - TXT ## Возможности - Чтение книг различных форматов - Управление библиотекой - Заметки и закладки - Синхронизация между устройствами - Резервное копирование библиотеки - Настройка внешнего вида - Словарь и перевод - Голосовое чтение (TTS) ## Дополнительная информация - [GitHub репозиторий](https://github.com/koodo-reader/koodo-reader) - [Официальная документация](https://koodo.960960.xyz/)