feat: add lazy-librarian

This commit is contained in:
SeanOMik 2025-01-01 13:50:53 -05:00
parent 5fc8a0fe83
commit 3dde7ca0d8
5 changed files with 127 additions and 1 deletions
kubernetes/main/apps/download

View file

@ -15,4 +15,5 @@ resources:
- ./media-dashboard.yaml
- ./flaresolverr
- ./kapowarr/ks.yaml
- ./sabnzbd
- ./sabnzbd
- ./lazy-librarian/ks.yaml

View file

@ -0,0 +1,79 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: lazy-librarian
spec:
interval: 5m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
controllers:
lazy-librarian:
containers:
app:
image:
repository: lscr.io/linuxserver/lazylibrarian
tag: version-9c0f8c51
env:
TZ: America/New_York
PUID: 10000
PGID: 10000
DOCKER_MODS: linuxserver/mods:lazylibrarian-ffmpeg
probes:
liveness:
enabled: true
custom: true
spec:
httpGet:
path:
port: &port 5299
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
# resources:
# requests:
# memory: 100Mi
# limits:
# memory: 4Gi
service:
app:
controller: lazy-librarian
ports:
http:
port: *port
ingress:
app:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd
hosts:
- host: "lazylib.${SECRET_NEW_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
existingClaim: lazy-librarian
globalMounts:
- path: /config
storage:
type: hostPath
hostPath: /mnt/MainPool/Media
globalMounts:
- path: /storage

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../../../../common/templates/volsync
- ./helm-release.yaml

View file

@ -0,0 +1,10 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 15Gi
storageClassName: openebs-zfs-mainpool

View file

@ -0,0 +1,31 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app lazy-librarian
namespace: flux-system
spec:
timeout: 5m
interval: 10m
targetNamespace: download
path: ./kubernetes/main/apps/download/lazy-librarian/app
prune: true
sourceRef:
kind: GitRepository
name: home-cluster
decryption:
provider: sops
secretRef:
name: sops-gpg
dependsOn:
- name: openebs
- name: openebs-sc
postBuild:
substituteFrom:
- kind: ConfigMap
name: cluster-settings
- kind: Secret
name: cluster-secrets
substitute:
APP: *app
VOLSYNC_CAPACITY: 5Gi