This commit is contained in:
azykov@mail.ru
2026-07-27 14:11:26 +03:00
parent 06111a362d
commit 9cd30cd474
7 changed files with 163 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: webdav-config
namespace: mcp
data:
config.yml: |
address: 0.0.0.0
port: 6065
directory: /data
permissions: R
users:
- username: "{env}WEBDAV_USERNAME"
password: "{env}WEBDAV_PASSWORD"
permissions: CRUD
@@ -0,0 +1,83 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: webdav
namespace: mcp
spec:
interval: 30m
chartRef:
kind: OCIRepository
name: webdav
values:
controllers:
app:
containers:
app:
image:
repository: ghcr.io/hacdias/webdav
tag: latest
args:
- "-c"
- "/config.yml"
env:
TZ: Europe/Moscow
WEBDAV_USERNAME:
valueFrom:
secretKeyRef:
name: webdav-secrets
key: WEBDAV_USERNAME
WEBDAV_PASSWORD:
valueFrom:
secretKeyRef:
name: webdav-secrets
key: WEBDAV_PASSWORD
probes:
liveness:
enabled: true
readiness:
enabled: true
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
memory: 256Mi
service:
app:
controller: app
ports:
http:
port: 6065
ingress:
app:
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: dav.aggtaa.com
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- secretName: webdav-tls
hosts:
- dav.aggtaa.com
persistence:
config-yml:
type: configMap
name: webdav-config
subPath: config.yml
globalMounts:
- path: /config.yml
readOnly: true
data:
type: persistentVolumeClaim
existingClaim: markdown-vault-mcp-vault
globalMounts:
- path: /data
@@ -0,0 +1,10 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: OCIRepository
metadata:
name: webdav
namespace: mcp
spec:
interval: 1h
url: oci://ghcr.io/bjw-s-labs/helm/app-template
ref:
tag: "5.0.1"
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helmrepository.yaml
- configmap.yaml
- secret.enc.yaml
- helmrelease.yaml
+23
View File
@@ -0,0 +1,23 @@
apiVersion: v1
kind: Secret
metadata:
name: webdav-secrets
namespace: mcp
stringData:
WEBDAV_USERNAME: ENC[AES256_GCM,data:BeN5VS8=,iv:XpUr5PG9RWTRGXs7/EzDyLGwUm05Mr0YWpW7PwzNfm8=,tag:3py47tIcTeFxuuAidk2wBg==,type:str]
WEBDAV_PASSWORD: ENC[AES256_GCM,data:Rh1ryftcmxgJAHvC/N1o5QeagCvyb3XIpDS7jOTCpJm3Wb5rUcLNmtcW22f0xljw,iv:GmgQJEuzUzSEql+fx5KURKv8CnhXF/z5UlmEn4ta+K0=,tag:AZD1CEbVRm6DiBt66pB9Vg==,type:str]
sops:
age:
- recipient: age14x4jjs2fwdgw28g2pkr6jyj2yzmwc544xwmaaglrxwz5e99seutqtr8jv5
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMSHg0S0dSTC8yNUpPUk9L
blNobStHNCt1VzRWWnJRMVFSSHRuNEdRZjJVCjhwKzdpYTRVWEF4NlE2RVRKTllX
YjFRL1RZeUxuQWdrWVZQVkZLSE5rYlUKLS0tIEN3WHV5MTJiOXFsbXpVSkJiZk1m
MDRObmNYb0dDT3NQNEZMKytrRENrTm8KbtGEFVOOhofeDtcP3+ST3qtxysuVWzTb
s/z73tRmakfXnPT9qgBTq+6YcZS+kpgAp7L5krQX9SrsPISAYczdtg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-07-27T10:52:59Z"
mac: ENC[AES256_GCM,data:NjW32RRIxywpArSP6HcyicTaTb9hFDPzfMra2mgBGcrQP4Ev9Nj9IPAY0bKv7VeB2478W4F1qWJ9ImikOgjr5/16VJ3hzuEY0KVtOyP211Gf25TGqX3q05CKPezktsfPWNr6extzgNdnjIv7UicH3rQD0VMZ27Th8KqjJY6HpD4=,iv:7D8G5SMyZD9Q6MDaSZvu1Ujvotiq9i/wMmpi9n+PQnA=,tag:Wa0BoM5owdUjmOxo9k0YnA==,type:str]
encrypted_regex: ^(data|stringData)$
version: 3.11.0
+1
View File
@@ -9,3 +9,4 @@ resources:
- homeassistant.yaml - homeassistant.yaml
- openwebui.yaml - openwebui.yaml
- markdown-vault-mcp.yaml - markdown-vault-mcp.yaml
- webdav.yaml
+21
View File
@@ -0,0 +1,21 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: webdav
namespace: flux-system
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: flux-system
path: ./clusters/base/apps/webdav
prune: true
wait: true
dependsOn:
- name: namespaces
- name: markdown-vault-mcp
retryInterval: 5s
decryption:
provider: sops
secretRef:
name: sops-age