first commit

This commit is contained in:
sttlab
2026-07-22 14:41:10 +00:00
commit e1577fe061
35 changed files with 1847 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# nginx config for the digest file server: directory listing (autoindex)
# over the generated Markdown digests, no app logic involved.
apiVersion: v1
kind: ConfigMap
metadata:
name: digest-files-nginx-conf
namespace: watch
data:
default.conf: |
server {
listen 8080;
server_name _;
root /usr/share/nginx/html;
location / {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
+61
View File
@@ -0,0 +1,61 @@
# Read-only HTTP file server exposing the digest workflow's output
# (n8n-digest-workspace PVC, digests/ subdirectory) for browsing/download,
# instead of email delivery (no SMTP configured).
apiVersion: apps/v1
kind: Deployment
metadata:
name: digest-files
namespace: watch
labels:
app.kubernetes.io/name: digest-files
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: digest-files
template:
metadata:
labels:
app.kubernetes.io/name: digest-files
spec:
containers:
- name: nginx
image: nginxinc/nginx-unprivileged:alpine
ports:
- name: http
containerPort: 8080
volumeMounts:
- name: digests
mountPath: /usr/share/nginx/html
subPath: digests
readOnly: true
- name: nginx-conf
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
readOnly: true
resources:
requests:
cpu: 25m
memory: 32Mi
limits:
cpu: 200m
memory: 128Mi
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 10
periodSeconds: 20
volumes:
- name: digests
persistentVolumeClaim:
claimName: n8n-digest-workspace
- name: nginx-conf
configMap:
name: digest-files-nginx-conf
+20
View File
@@ -0,0 +1,20 @@
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: digest-files
namespace: watch
spec:
gatewayClassName: envoy
listeners:
- name: https
protocol: HTTPS
port: 443
hostname: digests.sttlab.pc
allowedRoutes:
namespaces:
from: Same
tls:
mode: Terminate
certificateRefs:
- kind: Secret
name: sttlab-pc-tls
+21
View File
@@ -0,0 +1,21 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: digest-files
namespace: watch
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: digest-files
hostnames:
- digests.sttlab.pc
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- kind: Service
name: digest-files
port: 80
+14
View File
@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: digest-files
namespace: watch
labels:
app.kubernetes.io/name: digest-files
spec:
selector:
app.kubernetes.io/name: digest-files
ports:
- name: http
port: 80
targetPort: 8080