feat: bentopdf k8s manifests

This commit is contained in:
2026-06-16 13:35:03 +02:00
parent e73aacb900
commit bb5a3697f2
6 changed files with 102 additions and 22 deletions
+4 -3
View File
@@ -47,17 +47,18 @@ services:
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.services.bentopdf.loadbalancer.server.port=8080" - "traefik.http.services.bentopdf.loadbalancer.server.port=8080"
# Prod router # Prod router
- "traefik.http.routers.bentopdf.rule=(Host(`forust.xyz`) || Host(www.forust.xyz)) && PathPrefix(`pdf-tools`)" - "traefik.http.routers.bentopdf.rule=Host(`pdf.forust.xyz`)"
- "traefik.http.routers.bentopdf.entrypoints=websecure" - "traefik.http.routers.bentopdf.entrypoints=websecure"
- "traefik.http.routers.bentopdf.tls.certresolver=letsencrypt" - "traefik.http.routers.bentopdf.tls.certresolver=letsencrypt"
- "traefik.http.routers.bentopdf.tls=true" - "traefik.http.routers.bentopdf.tls=true"
# Local router # Local router
- "traefik.http.routers.bentopdf-local.rule=Host(`workstation.internal`) && PathPrefix(`pdf-tools`)" - "traefik.http.routers.bentopdf-local.rule=Host(`pdf.wokstation.internal`)"
- "traefik.http.routers.bentopdf-local.entrypoints=websecure" - "traefik.http.routers.bentopdf-local.entrypoints=websecure"
- "traefik.http.routers.bentopdf-local.tls=true" - "traefik.http.routers.bentopdf-local.tls=true"
# Prod router # Prod router
- "traefik.http.routers.bentopdf-dev.rule=Host(`gigaforust.internal`) && PathPrefix(`pdf-tools`)" - "traefik.http.routers.bentopdf-dev.rule=Host(`pdf.gigaforust.internal`)"
- "traefik.http.routers.bentopdf-dev.entrypoints=websecure" - "traefik.http.routers.bentopdf-dev.entrypoints=websecure"
- "traefik.http.routers.bentopdf-dev.tls=true" - "traefik.http.routers.bentopdf-dev.tls=true"
networks: networks:
+42
View File
@@ -0,0 +1,42 @@
kind: Service
apiVersion: v1
metadata:
name: bentopdf-service
namespace: converters
spec:
selector:
app: bentopdf
ports:
- port: 8080
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bentopdf-deployment
namespace: converters
spec:
replicas: 2
selector:
matchLabels:
app: bentopdf
template:
metadata:
labels:
app: bentopdf
spec:
containers:
- image: bentopdf/bentopdf:latest
imagePullPolicy: Always
name: bentopdf
ports:
- containerPort: 8080
resources:
requests:
memory: "50Mi"
cpu: "50m"
ephemeral-storage: "100Mi"
limits:
memory: "700Mi"
cpu: "700m"
ephemeral-storage: "5Gi"
+32
View File
@@ -31,3 +31,35 @@ spec:
services: services:
- name: convertx-service - name: convertx-service
port: 3000 port: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: bentopdf-prod
namespace: converters
spec:
entryPoints:
- websecure
routes:
- match: Host(`pdf.forust.xyz`)
kind: Rule
services:
- name: bentopdf-service
port: 8080
tls:
certResolver: letsencrypt
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: bentopdf-local
namespace: converters
spec:
entryPoints:
- websecure
routes:
- match: HostRegexp(`^pdf\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: bentopdf-service
port: 8080
+1
View File
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: convertx-secrets name: convertx-secrets
namespace: converters
type: Opaque type: Opaque
stringData: stringData:
jwt-secret: "" jwt-secret: ""
+2
View File
@@ -9,6 +9,8 @@ spec:
routes: routes:
- match: Host(`forust.xyz`) || Host(`www.forust.xyz`) - match: Host(`forust.xyz`) || Host(`www.forust.xyz`)
kind: Rule kind: Rule
middlewares:
- name: crowdsec-crowdsec-bouncer@kubernetescrd
priority: 10 priority: 10
services: services:
- name: forust-homepage-service - name: forust-homepage-service
+21 -19
View File
@@ -12,6 +12,7 @@ spec:
kind: Rule kind: Rule
middlewares: middlewares:
- name: nextcloud-chain@file - name: nextcloud-chain@file
- name: crowdsec-crowdsec-bouncer@kubernetescrd
services: services:
- name: nextcloud-apache - name: nextcloud-apache
port: 11000 port: 11000
@@ -35,26 +36,27 @@ spec:
- name: nextcloud-apache - name: nextcloud-apache
port: 11000 port: 11000
---
# ---
# Nextcloud AIO # Nextcloud AIO
apiVersion: traefik.io/v1alpha1 # apiVersion: traefik.io/v1alpha1
kind: IngressRoute # kind: IngressRoute
metadata: # metadata:
name: naio-prod # name: naio-prod
namespace: nextcloud # namespace: nextcloud
spec: # spec:
entryPoints: # entryPoints:
- websecure # - websecure
routes: # routes:
- match: Host(`naio.forust.xyz`) # - match: Host(`naio.forust.xyz`)
kind: Rule # kind: Rule
services: # services:
- name: nextcloud-aio # - name: nextcloud-aio
port: 8888 # port: 8888
scheme: https # scheme: https
serversTransport: insecure-transport # <-- Ссылка на ваш CRD ресурс вместо @file # serversTransport: insecure-transport
tls: # tls:
certResolver: letsencrypt # certResolver: letsencrypt
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: traefik.io/v1alpha1
kind: IngressRoute kind: IngressRoute