Files
k8s-apps/stirling/stirling.yaml
2026-04-02 12:14:00 +00:00

229 lines
5.1 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: stirling
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-configs
namespace: stirling
spec:
accessModes:
- ReadWriteOnce
storageClassName: cephfs-hyper
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-customfiles
namespace: stirling
spec:
accessModes:
- ReadWriteMany
storageClassName: cephfs-hyper
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-logs
namespace: stirling
spec:
accessModes:
- ReadWriteMany
storageClassName: cephfs-hyper
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-tessdata
namespace: stirling
spec:
accessModes:
- ReadWriteMany
storageClassName: cephfs-hyper
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-pipeline
namespace: stirling
spec:
accessModes:
- ReadWriteMany
storageClassName: cephfs-hyper
resources:
requests:
storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: stirling-pdf
namespace: stirling
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
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: http
env:
- name: SERVER_ADDRESS
value: "::"
- name: SECURITY_ENABLELOGIN
value: "true"
- name: SECURITY_LOGINMETHOD
value: "all"
- name: SECURITY_INITIALLOGIN_USERNAME
valueFrom:
secretKeyRef:
name: stirling-auth
key: initialUsername
- name: SECURITY_INITIALLOGIN_PASSWORD
valueFrom:
secretKeyRef:
name: stirling-auth
key: initialPassword
- name: LANGS
value: "en_GB,de_DE,fr_FR"
- name: SYSTEM_DEFAULTLOCALE
value: "en-GB"
- name: SYSTEM_GOOGLEVISIBILITY
value: "false"
- name: SYSTEM_ROOTURIPATH
value: "/"
- name: SYSTEM_BACKENDURL
value: "https://pdf.apps.undercloud.dev"
- name: SYSTEM_MAXFILESIZE
value: "999"
- name: SYSTEM_CUSTOMSTATICFILEPATH
value: "/customFiles/static/"
volumeMounts:
- name: configs
mountPath: /configs
- name: customfiles
mountPath: /customFiles
- name: logs
mountPath: /logs
- name: tessdata
mountPath: /usr/share/tessdata
- name: pipeline
mountPath: /pipeline
#startupProbe:
# httpGet:
# path: /
# port: 8080
# periodSeconds: 5
# timeoutSeconds: 5
# failureThreshold: 30
#readinessProbe:
# httpGet:
# path: /
# port: 8080
# periodSeconds: 20
# timeoutSeconds: 5
# failureThreshold: 10
#livenessProbe:
# httpGet:
# path: /
# port: 8080
# initialDelaySeconds: 300
# periodSeconds: 20
# timeoutSeconds: 5
# failureThreshold: 6
#resources:
# requests:
# cpu: "500m"
# memory: "1Gi"
# limits:
# cpu: "2"
# memory: "4Gi"
volumes:
- name: configs
persistentVolumeClaim:
claimName: stirling-configs
- name: customfiles
persistentVolumeClaim:
claimName: stirling-customfiles
- name: logs
persistentVolumeClaim:
claimName: stirling-logs
- name: tessdata
persistentVolumeClaim:
claimName: stirling-tessdata
- name: pipeline
persistentVolumeClaim:
claimName: stirling-pipeline
---
apiVersion: v1
kind: Service
metadata:
name: stirling-pdf
namespace: stirling
spec:
selector:
app: stirling-pdf
ports:
- name: http
port: 8080
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: stirling-pdf
namespace: stirling
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/proxy-body-size: "2000m"
spec:
tls:
- hosts:
- pdf.apps.undercloud.dev
secretName: stirling-pdf-tls
rules:
- host: pdf.apps.undercloud.dev
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: stirling-pdf
port:
number: 8080