convert cops to app-template

This commit is contained in:
2024-05-28 11:19:21 -05:00
parent d291611dc8
commit 6b2b50ca50
5 changed files with 124 additions and 27 deletions

View File

@@ -1,11 +1,26 @@
apiVersion: v2
name: cops
version: 0.0.1
version: 1.0.0
description: Calibre OPDS (and HTML) PHP Server
keywords:
- calibre
- OPDS
- books
sources:
- https://github.com/seblucas/cops
- https://github.com/mikespub-org/seblucas-cops
- http://alexlebens.github.io/helm-charts
- https://docs.linuxserver.io/images/docker-cops/
- https://github.com/cloudflare/cloudflared
- https://github.com/bjw-s/helm-charts/blob/main/charts/other/app-template/values.yaml
maintainers:
- name: alexlebens
dependencies:
- name: cops
version: 0.0.3
repository: http://alexlebens.github.io/helm-charts
- name: app-template
alias: cops
repository: https://bjw-s.github.io/helm-charts/
version: 3.2.1
- name: app-template
alias: cloudflared
repository: https://bjw-s.github.io/helm-charts/
version: 3.2.1
appVersion: 1.1.3

View File

@@ -0,0 +1,23 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: cops-cloudflared-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: cops-cloudflared-secret
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:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: cf-tunnel-token
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cloudflare/tunnels/cops
metadataPolicy: None
property: token

View File

@@ -4,7 +4,7 @@ metadata:
name: cops-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: cops-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: cops-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/name: cops-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.books.nfsPath }}
server: {{ .Values.storage.books.nfsServer }}
path: /volume2/Storage/Calibre
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1

View File

@@ -1,22 +1,81 @@
cops:
deployment:
env:
TZ: US/Central
ingress:
enabled: true
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
className: traefik
host: calibre-content.alexlebens.net
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: linuxserver/cops
tag: 2.3.1-ls185
pullPolicy: IfNotPresent
env:
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: TZ
value: US/Central
resources:
requests:
cpu: 100m
memory: 256Mi
serviceAccount:
create: true
service:
web:
controller: main
ports:
http:
port: 80
targetPort: 80
protocol: HTTP
persistence:
config:
storageClassName: ceph-block
storageSize: 1Gi
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
books:
claimName: cops-nfs-storage
storage:
books:
nfsPath: /volume2/Storage/Calibre
nfsServer: synologybond.alexlebens.net
existingClaim: calibre-server-nfs-storage
advancedMounts:
scanner:
main:
- path: /books
readOnly: true
cloudflared:
global:
nameOverride: cloudflared
controllers:
main:
type: deployment
strategy: Recreate
containers:
main:
image:
repository: cloudflare/cloudflared
tag: "2024.5.0"
pullPolicy: IfNotPresent
args:
- tunnel
- --no-autoupdate
- run
- --token
- $(CF_MANAGED_TUNNEL_TOKEN)
env:
- name: CF_MANAGED_TUNNEL_TOKEN
valueFrom:
secretKeyRef:
name: cops-cloudflared-secret
key: cf-tunnel-token
resources:
requests:
cpu: 100m
memory: 128Mi