diff --git a/kubernetes/apps/downloads/kustomization.yaml b/kubernetes/apps/downloads/kustomization.yaml index a09fabcc..374dde27 100644 --- a/kubernetes/apps/downloads/kustomization.yaml +++ b/kubernetes/apps/downloads/kustomization.yaml @@ -11,6 +11,7 @@ resources: - cross-seed/ks.yaml - flaresolverr/ks.yaml - omegabrr/ks.yaml + - openbooks/ks.yaml - prowlarr/ks.yaml - qbittorrent/ks.yaml - radarr/ks.yaml diff --git a/kubernetes/apps/downloads/openbooks/app/externalsecret.yaml b/kubernetes/apps/downloads/openbooks/app/externalsecret.yaml new file mode 100644 index 00000000..de503f04 --- /dev/null +++ b/kubernetes/apps/downloads/openbooks/app/externalsecret.yaml @@ -0,0 +1,19 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: openbooks +spec: + secretStoreRef: + kind: ClusterSecretStore + name: onepassword-connect + target: + name: openbooks-secret + template: + engineVersion: v2 + data: + OPENBOOKS_IRC_NICK: "{{ .OPENBOOKS_IRC_NICK }}" + dataFrom: + - extract: + key: openbooks diff --git a/kubernetes/apps/downloads/openbooks/app/helmrelease.yaml b/kubernetes/apps/downloads/openbooks/app/helmrelease.yaml new file mode 100644 index 00000000..cc84cc02 --- /dev/null +++ b/kubernetes/apps/downloads/openbooks/app/helmrelease.yaml @@ -0,0 +1,86 @@ +--- +# 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: &app openbooks +spec: + interval: 15m + chart: + spec: + chart: app-template + version: 3.5.1 + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + maxHistory: 3 + install: + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + retries: 3 + uninstall: + keepHistory: false + values: + controllers: + openbooks: + annotations: + reloader.stakater.com/auto: "true" + containers: + app: + image: + repository: evanbuss/openbooks + tag: 4.5.0 + args: + - --name=$(OPENBOOKS_IRC_NICK) + - --useragent=$(OPENBOOKS_IRC_NICK) + - --dir=/openbooks + - --no-browser-downloads + - --persist + - --log + env: + PORT: &port 80 + envFrom: + - secretRef: + name: openbooks-secret + defaultPodOptions: + securityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: { type: RuntimeDefault } + service: + app: + controller: openbooks + ports: + http: + port: *port + ingress: + app: + annotations: + external-dns.alpha.kubernetes.io/target: internal.zebernst.dev + className: internal + hosts: + - host: "{{ .Release.Name }}.zebernst.dev" + paths: + - path: / + service: + identifier: app + port: http + persistence: + books: + type: nfs + server: nas.lab.home.arpa + path: /volume1/media + globalMounts: + - path: /openbooks/books + subPath: downloads/openbooks + logs: + type: emptyDir + globalMounts: + - path: /openbooks/logs diff --git a/kubernetes/apps/downloads/openbooks/app/kustomization.yaml b/kubernetes/apps/downloads/openbooks/app/kustomization.yaml new file mode 100644 index 00000000..db909dc1 --- /dev/null +++ b/kubernetes/apps/downloads/openbooks/app/kustomization.yaml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - externalsecret.yaml + - helmrelease.yaml + - ../../../../templates/gatus/guarded diff --git a/kubernetes/apps/downloads/openbooks/ks.yaml b/kubernetes/apps/downloads/openbooks/ks.yaml new file mode 100644 index 00000000..3d0f1915 --- /dev/null +++ b/kubernetes/apps/downloads/openbooks/ks.yaml @@ -0,0 +1,25 @@ +--- +# yaml-language-server: $schema=https://kube-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app openbooks + namespace: flux-system +spec: + targetNamespace: downloads + commonMetadata: + labels: + app.kubernetes.io/name: *app + dependsOn: + - name: external-secrets-stores + path: ./kubernetes/apps/downloads/openbooks/app + prune: true + sourceRef: + kind: GitRepository + name: home-kubernetes + wait: false + interval: 30m + timeout: 5m + postBuild: + substitute: + APP: *app diff --git a/kubernetes/apps/media/calibre-web/app/helmrelease.yaml b/kubernetes/apps/media/calibre-web/app/helmrelease.yaml index 19773bd8..3083c5b5 100644 --- a/kubernetes/apps/media/calibre-web/app/helmrelease.yaml +++ b/kubernetes/apps/media/calibre-web/app/helmrelease.yaml @@ -32,7 +32,7 @@ spec: app: image: repository: crocodilestick/calibre-web-automated - tag: dev # V2.1.2 + tag: dev env: CACHE_DIR: /cache TZ: America/New_York @@ -81,11 +81,10 @@ spec: app: className: internal annotations: - nginx.ingress.kubernetes.io/configuration-snippet: | - client_max_body_size 512m; - proxy_buffer_size 128k; - proxy_buffers 4 256k; - proxy_busy_buffers_size 256k; + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" + nginx.ingress.kubernetes.io/proxy-buffers-number: "4" + nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "256k" hosts: - host: calibre.zebernst.dev paths: @@ -109,7 +108,7 @@ spec: - path: /calibre-library subPath: books - path: /cwa-book-ingest - subPath: downloads/qbittorrent/seeding/readarr + subPath: downloads/openbooks cache: type: emptyDir globalMounts: