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: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: calibre-web - name: app-template
version: 9.0.2 alias: calibre-web
repository: https://k8s-home-lab.github.io/helm-charts/ 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 icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/calibre-web.png
appVersion: 0.6.21-ls270 appVersion: 0.6.21-ls270

View File

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

View File

@@ -1,17 +1,17 @@
apiVersion: traefik.io/v1alpha1 apiVersion: traefik.io/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: "authentik-{{ .Release.Name }}" name: authentik-calibre-web
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: authentik-calibre-web
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: auth app.kubernetes.io/component: auth
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
spec: spec:
forwardAuth: 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 trustForwardHeader: true
authResponseHeaders: authResponseHeaders:
- X-authentik-username - X-authentik-username

View File

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

View File

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

View File

@@ -1,33 +1,50 @@
calibre-web: calibre-web:
image: controllers:
repository: ghcr.io/linuxserver/calibre-web
tag: 0.6.21-ls270
env:
TZ: US/Central
DOCKER_MODS: linuxserver/mods:universal-calibre
ingress:
main: 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: persistence:
config: config:
enabled: true storageClass: ceph-block
mountPath: /config
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 5Gi size: 5Gi
media: retain: true
enabled: true advancedMounts:
mountPath: /books main:
type: pvc main:
- path: /config
readOnly: false
books:
existingClaim: calibre-web-nfs-storage existingClaim: calibre-web-nfs-storage
ingressRoute: advancedMounts:
host: calibre.alexlebens.net main:
port: 8083 main:
authentik: - path: /books
outpost: authentik-outpost-proxy readOnly: true
port: 9000
namespace: authentik
storage:
storage:
nfs:
path: /volume2/Storage/Calibre
server: synologybond.alexlebens.net