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 apiVersion: v2
name: cops name: cops
version: 0.0.1 version: 1.0.0
description: Calibre OPDS (and HTML) PHP Server
keywords:
- calibre
- OPDS
- books
sources: sources:
- https://github.com/seblucas/cops
- https://github.com/mikespub-org/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: dependencies:
- name: cops - name: app-template
version: 0.0.3 alias: cops
repository: http://alexlebens.github.io/helm-charts 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 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 name: cops-nfs-storage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: cops-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: cops-nfs-storage name: cops-nfs-storage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: cops-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.books.nfsPath }} path: /volume2/Storage/Calibre
server: {{ .Values.storage.books.nfsServer }} server: synologybond.alexlebens.net
mountOptions: mountOptions:
- vers=4 - vers=4
- minorversion=1 - minorversion=1

View File

@@ -1,22 +1,81 @@
cops: cops:
deployment: controllers:
env: main:
TZ: US/Central type: deployment
ingress: replicas: 1
enabled: true strategy: Recreate
annotations: revisionHistoryLimit: 3
traefik.ingress.kubernetes.io/router.entrypoints: websecure containers:
traefik.ingress.kubernetes.io/router.tls: "true" main:
cert-manager.io/cluster-issuer: letsencrypt-issuer image:
className: traefik repository: linuxserver/cops
host: calibre-content.alexlebens.net 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: persistence:
config: config:
storageClassName: ceph-block storageClass: ceph-block
storageSize: 1Gi accessMode: ReadWriteOnce
size: 5Gi
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
books: books:
claimName: cops-nfs-storage existingClaim: calibre-server-nfs-storage
storage: advancedMounts:
books: scanner:
nfsPath: /volume2/Storage/Calibre main:
nfsServer: synologybond.alexlebens.net - 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