add stirling-pdf

Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
gwg313 2026-01-06 13:30:18 -05:00
parent a958b153c4
commit 529cc6f29f
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
12 changed files with 197 additions and 0 deletions

20
apps/stirling-pdf.yaml Normal file
View file

@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: stirling-pdf
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/gwg313/homelab-gitops
targetRevision: main
path: stirling-pdf
destination:
server: https://kubernetes.default.svc
namespace: stirling-pdf
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true

View file

@ -0,0 +1,12 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: stirling-pdf-cert
namespace: istio-system
spec:
secretName: stirling-pdf-cert
issuerRef:
name: letsencrypt-dns
kind: ClusterIssuer
dnsNames:
- pdftools.gwg313.xyz

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-custom-files
namespace: stirling-pdf
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: nfs-client

View file

@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stirling-pdf
namespace: stirling-pdf
spec:
replicas: 1
selector:
matchLabels:
app: stirling-pdf
template:
metadata:
labels:
app: stirling-pdf
spec:
containers:
- name: stirling-pdf
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
ports:
- containerPort: 8080
env:
- name: DISABLE_ADDITIONAL_FEATURES
value: "false"
- name: LANGS
value: "en_US"
volumeMounts:
- name: training-data
mountPath: /usr/share/tessdata
- name: extra-configs
mountPath: /configs
- name: custom-files
mountPath: /customFiles
- name: logs
mountPath: /logs
- name: pipeline
mountPath: /pipeline
volumes:
- name: training-data
persistentVolumeClaim:
claimName: stirling-training-data
- name: extra-configs
persistentVolumeClaim:
claimName: stirling-extra-configs
- name: custom-files
persistentVolumeClaim:
claimName: stirling-custom-files
- name: logs
persistentVolumeClaim:
claimName: stirling-logs
- name: pipeline
persistentVolumeClaim:
claimName: stirling-pipeline

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-extra-configs
namespace: stirling-pdf
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: nfs-client

18
stirling-pdf/gateway.yaml Normal file
View file

@ -0,0 +1,18 @@
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: stirling-pdf-gateway
namespace: stirling-pdf
spec:
selector:
istio: gateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: stirling-pdf-cert
hosts:
- pdftools.gwg313.xyz

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-logs
namespace: stirling-pdf
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: nfs-client

View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: stirling-pdf

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-pipeline
namespace: stirling-pdf
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: nfs-client

12
stirling-pdf/service.yaml Normal file
View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: stirling-pdf
namespace: stirling-pdf
spec:
selector:
app: stirling-pdf
ports:
- port: 80
targetPort: 8080
protocol: TCP

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-training-data
namespace: stirling-pdf
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-client

View file

@ -0,0 +1,19 @@
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: stirling-pdf
namespace: stirling-pdf
spec:
hosts:
- pdftools.gwg313.xyz
gateways:
- stirling-pdf-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
host: stirling-pdf
port:
number: 80