convert to app template

This commit is contained in:
2024-06-22 19:50:22 -05:00
parent 82118e1e20
commit fee57a5eef
6 changed files with 64 additions and 46 deletions

View File

@@ -13,8 +13,9 @@ sources:
maintainers:
- name: alexlebens
dependencies:
- name: calibre-web
version: 9.0.2
repository: https://k8s-home-lab.github.io/helm-charts/
- name: app-template
alias: calibre-web
repository: https://bjw-s.github.io/helm-charts/
version: 3.2.1
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/calibre-web.png
appVersion: 0.6.21-ls270

View File

@@ -1,10 +1,10 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: {{ .Release.Name }}
name: calibre-web
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: calibre-web
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
@@ -14,20 +14,20 @@ spec:
- websecure
routes:
- kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`)"
match: Host(`calibre.alexlebens.net`)
middlewares:
- name: "authentik-{{ .Release.Name }}"
- name: authentik-calibre-web
namespace: {{ .Release.Namespace }}
priority: 10
services:
- kind: Service
name: {{ .Release.Name }}
port: {{ .Values.ingressRoute.port }}
name: calibre-web
port: 80
- kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
match: Host(`calibre.alexlebens.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
priority: 15
services:
- kind: Service
name: {{ .Values.ingressRoute.authentik.outpost }}
port: {{ .Values.ingressRoute.authentik.port }}
namespace: {{ .Values.ingressRoute.authentik.namespace }}
name: authentik-outpost-proxy
port: 9000
namespace: authentik

View File

@@ -1,17 +1,17 @@
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: "authentik-{{ .Release.Name }}"
name: authentik-calibre-web
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: authentik-calibre-web
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: auth
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
forwardAuth:
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"
address: http://authentik-outpost-proxy.authentik:9000/outpost.goauthentik.io/auth/traefik
trustForwardHeader: true
authResponseHeaders:
- X-authentik-username

View File

@@ -4,7 +4,7 @@ metadata:
name: calibre-web-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: calibre-web-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage

View File

@@ -4,7 +4,7 @@ metadata:
name: calibre-web-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: calibre-web-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
@@ -17,8 +17,8 @@ spec:
accessModes:
- ReadWriteMany
nfs:
path: {{ .Values.storage.storage.nfs.path }}
server: {{ .Values.storage.storage.nfs.server }}
path: /volume2/Storage/Calibre
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1

View File

@@ -1,33 +1,50 @@
calibre-web:
image:
repository: ghcr.io/linuxserver/calibre-web
tag: 0.6.21-ls270
env:
TZ: US/Central
DOCKER_MODS: linuxserver/mods:universal-calibre
ingress:
controllers:
main:
enabled: false
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/linuxserver/calibre-web
tag: 0.6.21-ls270
pullPolicy: IfNotPresent
env:
- name: TZ
value: US/Central
- name: DOCKER_MODS
value: linuxserver/mods:universal-calibre
resources:
requests:
cpu: 100m
memory: 256Mi
serviceAccount:
create: true
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 8083
protocol: HTTP
persistence:
config:
enabled: true
mountPath: /config
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
media:
enabled: true
mountPath: /books
type: pvc
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
books:
existingClaim: calibre-web-nfs-storage
ingressRoute:
host: calibre.alexlebens.net
port: 8083
authentik:
outpost: authentik-outpost-proxy
port: 9000
namespace: authentik
storage:
storage:
nfs:
path: /volume2/Storage/Calibre
server: synologybond.alexlebens.net
advancedMounts:
main:
main:
- path: /books
readOnly: true