| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: webdav-deployment
- namespace: default
- labels:
- app: webdav
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: webdav
- template:
- metadata:
- labels:
- app: webdav
- annotations:
- diun.enable: "true"
- diun.include_tags: '^\d+\.\d+$'
- spec:
- containers:
- - image: rclone/rclone:1.72
- name: rclone
- imagePullPolicy: IfNotPresent
- ports:
- - containerPort: 80
- volumeMounts:
- - name: webdav-data-vol
- mountPath: /data
- - name: webdav-config-vol
- mountPath: /config
- args: ["serve", "webdav", "/data", "--addr", ":80", "--htpasswd", "/config/htpasswd"]
- volumes:
- - name: webdav-data-vol
- hostPath:
- path: /mnt/webdav/data
- type: Directory
- - name: webdav-config-vol
- hostPath:
- path: /mnt/webdav/config
- type: Directory
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: webdav
- namespace: default
- labels:
- app: webdav
- spec:
- type: ClusterIP
- selector:
- app: webdav
- ports:
- - port: 80
- targetPort: 80
- ---
- apiVersion: cert-manager.io/v1
- kind: Certificate
- metadata:
- name: webdav.bodicsek.host
- spec:
- secretName: webdav.bodicsek.host
- issuerRef:
- name: letsencrypt-prod
- kind: ClusterIssuer
- dnsNames:
- - webdav.bodicsek.host
- ---
- apiVersion: traefik.io/v1alpha1
- kind: Middleware
- metadata:
- name: webdav-options-support
- spec:
- headers:
- accessControlAllowMethods:
- - "GET"
- - "HEAD"
- - "POST"
- - "PUT"
- - "DELETE"
- - "PATCH"
- - "COPY"
- - "LOCK"
- - "UNLOCK"
- - "MKCOL"
- - "MOVE"
- - "PROPFIND"
- - "PROPPATCH"
- - "OPTIONS"
- accessControlAllowHeaders:
- - "*"
- accessControlAllowOriginList:
- - "*"
- accessControlMaxAge: 100
- ---
- apiVersion: traefik.io/v1alpha1
- kind: IngressRoute
- metadata:
- name: webdav
- namespace: default
- spec:
- entryPoints:
- - websecure
- routes:
- - kind: Rule
- match: Host(`webdav.bodicsek.host`)
- middlewares:
- - name: webdav-options-support
- services:
- - kind: Service
- name: webdav
- namespace: default
- passHostHeader: true
- port: 80
- tls:
- secretName: webdav.bodicsek.host
|