init
This commit is contained in:
11
clusters/cl01tl/applications/calibre-web/Chart.yaml
Normal file
11
clusters/cl01tl/applications/calibre-web/Chart.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: v2
|
||||
name: calibre-web
|
||||
version: 0.0.1
|
||||
sources:
|
||||
- https://github.com/janeczku/calibre-web
|
||||
- https://github.com/k8s-home-lab/helm-charts/tree/master/charts/stable/calibre-web
|
||||
dependencies:
|
||||
- name: calibre-web
|
||||
version: 9.0.2
|
||||
repository: https://k8s-home-lab.github.io/helm-charts/
|
||||
appVersion: v0.6.21
|
@@ -0,0 +1,33 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: web
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- kind: Rule
|
||||
match: "Host(`{{ .Values.ingressRoute.host }}`)"
|
||||
middlewares:
|
||||
- name: "authentik-{{ .Release.Name }}"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
priority: 10
|
||||
services:
|
||||
- kind: Service
|
||||
name: {{ .Release.Name }}
|
||||
port: {{ .Values.ingressRoute.port }}
|
||||
- kind: Rule
|
||||
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
services:
|
||||
- kind: Service
|
||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
||||
port: {{ .Values.ingressRoute.authentik.port }}
|
||||
namespace: {{ .Values.ingressRoute.authentik.namespace }}
|
@@ -0,0 +1,27 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: "authentik-{{ .Release.Name }}"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
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"
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- X-authentik-username
|
||||
- X-authentik-groups
|
||||
- X-authentik-email
|
||||
- X-authentik-name
|
||||
- X-authentik-uid
|
||||
- X-authentik-jwt
|
||||
- X-authentik-meta-jwks
|
||||
- X-authentik-meta-outpost
|
||||
- X-authentik-meta-provider
|
||||
- X-authentik-meta-app
|
||||
- X-authentik-meta-version
|
@@ -0,0 +1,19 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: calibre-web-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: storage
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
volumeName: calibre-web-nfs-storage
|
||||
storageClassName: nfs-client
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
@@ -0,0 +1,25 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: calibre-web-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: storage
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: nfs-client
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
path: {{ .Values.storage.storage.nfs.path }}
|
||||
server: {{ .Values.storage.storage.nfs.server }}
|
||||
mountOptions:
|
||||
- vers=4
|
||||
- minorversion=1
|
||||
- noac
|
33
clusters/cl01tl/applications/calibre-web/values.yaml
Normal file
33
clusters/cl01tl/applications/calibre-web/values.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
calibre-web:
|
||||
image:
|
||||
repository: ghcr.io/linuxserver/calibre-web
|
||||
tag: 0.6.21-ls253
|
||||
env:
|
||||
TZ: US/Central
|
||||
DOCKER_MODS: linuxserver/mods:universal-calibre
|
||||
ingress:
|
||||
main:
|
||||
enabled: false
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: /config
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
media:
|
||||
enabled: true
|
||||
mountPath: /books
|
||||
type: pvc
|
||||
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
|
Reference in New Issue
Block a user