removed nfs-photo
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -4,21 +4,21 @@ metadata:
|
||||
name: davical-secrets
|
||||
namespace: pim
|
||||
stringData:
|
||||
PGSQL_ROOT_PASS: ENC[AES256_GCM,data:/PTuUu4mxQGnwYWXu2F+oSZs83bThqrMmnVg4QEFs5U3vRELC1Y9B7ljHQmfa+Dy,iv:mROnkAdrBknqb8LE4dxEqd0t+ikKLB8bmBjZYGHVYT4=,tag:XxeFtw3V4wa/39Myh+AsZQ==,type:str]
|
||||
PASSDAVDB: ENC[AES256_GCM,data:n/hQIuYYId06jg9FDjsQQuWIHrTV08hSXfKspxPjJtpkMmeAVRAKUl7W3qMUHHTG,iv:NrRa3GdNRYq2dmKsvd3B1sz0goV6NEB4JvL4/xDlSXI=,tag:Cg1HPknlk9rg8SxRktrEMg==,type:str]
|
||||
ADMINDAVICALPASS: ENC[AES256_GCM,data:Z+RjBVGEfFOvob/H3K7gvYsYmPKWaGpFh7e1zr0s8dI=,iv:81z0pLTjjViI3WcxJNjuMgyS3Dqr7xiFsGoU7DtWYQQ=,tag:oey5cwF3wUEr+iteaNWXvw==,type:str]
|
||||
PGSQL_ROOT_PASS: ENC[AES256_GCM,data:h9vHW7F0u+hFdLAOHa57ezQZi9sCWkGoWI5V94QZ1Z8MjG3w1fuWiW8IsxiAzp2R,iv:WGUDhu0cNaT9kPtrsmxb8AlC17PaJe65QdXsBNLTSEQ=,tag:hpQJi13BIhTccB22ZOORgw==,type:str]
|
||||
PASSDAVDB: ENC[AES256_GCM,data:0BvDh9RoSD6vSWnhg1U0E3Xhg7WdRAw57SZHGypaFx9sIkifaXuqewZ4VF2kTzJg,iv:s3HIEtDAjPaTPuUlEe22XP3a9pl4SmvQm/lUN67F314=,tag:rtAHLR8p3ER/yiuoAqLijA==,type:str]
|
||||
ADMINDAVICALPASS: ENC[AES256_GCM,data:DWbDyZjLT+Q+ZsrGKTK/Y6YtUm/5/lNYyyVnngMt+qc=,iv:DPK55weHdS3m/m9dNSRpAKFFFvAGdqHS5bsjgx+V4UA=,tag:wa4wnrWberwjFtUlGdp0DQ==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1yx8mey02c0mu6te9hwxwdqp5n4enjz35e8thchsmvhqw7xsrzy0syg367g
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSTHB5TElUZXNNRjZCVC9P
|
||||
dXhub1JVUGY1MkR6SGVvYmZwYVRNTDUvNWlnCnZucE5mSS9HNE4wWGxrVUNucVla
|
||||
K0gwM3Rwc3NqbWh0dFdwTGF4TjMyVFEKLS0tIGNUUFgyajFZbldXczR6Q1RnUWN2
|
||||
eFJWZ0J1TGF5RStON2ZTQ1FqSGdCcHcK6ltsoYLyLyhFIdvI6l+BzlOyshv6UXlf
|
||||
ztyD6II3nK867NC+3U8ydhVak7S26ZcV7UO9z7YzZtglW6+nX9OfPw==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLa2ZtRENMREJyYkdGSVox
|
||||
RDBNT1ExMUVoSVgvZ0IwbHNkVEovcWpWQjJBCnppZklMV2hYaVZqSG5rWGhLbXpS
|
||||
bkRXajFuQ0kyQ0UzWUtjVFRVR1dMTGMKLS0tIGR0NmphVE1DaHhaUWNZZ0lNTFpp
|
||||
RzErcHQ0T2FlckNYVFZIelFHOXlKb0EKZEiLIW9NlPX8I85jk6ZAG3SGFVRPclhM
|
||||
N/cnWr71Pf2EPhok6cPW7wOz6F7PfZYC3KGExwKQ6I/VxDLcx3hzew==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:29Z"
|
||||
mac: ENC[AES256_GCM,data:nkHRKLOf3XJGIxFR35xZ6Kz39Uqj7k7s6a9o9uyXou6X4Azt0JY2/g8bPlmvHc36FMAsoh4ZkcYkGfHggddtNhJS633bbct0YJY9b9LSJr2S+HNZrJgMstns39nRNZCAFeXotITCe2QtG1+Xj3oDjHDGdQWDqapxLKW/Nytv93E=,iv:gNDGnCoXhsE1aZABiTolsm55dG3SNIE8PFtgomTUNJs=,tag:PvCQH2bELO9YfMTrLZRoqQ==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:38Z"
|
||||
mac: ENC[AES256_GCM,data:0tqJuh04qqm1qZHVxH+CUiEq9mL/6ooc4k8yFC2o8kMKIenq4u1TuaqSRiW5ot+IW0O8EDo6DjE9h6++0j6YLubNmUczcHIRIgp9uIUXcn2MpLiL+dRlpzn5uZ3rGnHAGGs2OIjw9k5kBWEAfxyaY3lx5AS3RsdEnJ1arJN1pr8=,iv:eZoMuwoyxekq5096uQbvTGfVx87iBUH8GG0cQUtI6yI=,tag:z2gNkHs4gQ8SYkWrY/IFWQ==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -34,8 +34,7 @@ spec:
|
||||
# already there. Running it as a restartPolicy:Always init
|
||||
# container (started, gated on the startupProbe below, before
|
||||
# regular containers) guarantees that ordering; a regular sidecar
|
||||
# container racing "app" on every pod start does not. Same
|
||||
# pattern as clusters/base/apps/nfs-photo.
|
||||
# container racing "app" on every pod start does not.
|
||||
mergerfs:
|
||||
dependsOn:
|
||||
- fix-permissions
|
||||
|
||||
@@ -4,19 +4,19 @@ metadata:
|
||||
name: immich-secrets
|
||||
namespace: photo
|
||||
stringData:
|
||||
DB_PASSWORD: ENC[AES256_GCM,data:hQbH4veR4gJOZH8zY71mqinSrKU63KkEtjJaKiImjCU=,iv:oVfNqGyHEGZzb9kCnS4yUC5nnXCCm7VYJ5SPwJn7AyE=,tag:vbe2rQW4V5MeZqVx6/U/6w==,type:str]
|
||||
DB_PASSWORD: ENC[AES256_GCM,data:EaWBsfoQfWIKnu/YspqxzFMo9Aax3QfqCD0rGvpWH64=,iv:CbgYE8hs/Y79KTNnYiK71c2OxTc2DKMF9uEazW6KFHQ=,tag:9ZUSk7LY3y7m/7gyjcS7Rw==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1wmm8qrqnjzvd5nkraed6ylrsxlpn3ru7d7zettdudj7y9sg9dd2su0u3mr
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkOE1oa1J4bnU4eDdqOHZY
|
||||
YmNDeHRKTzQ1TWI0L2pqZ3lNTkRaUVQva0drCklMbHU0S05YakgwVXE4Q2RFTmw4
|
||||
TGU1bGFIQ0ZjTXpEMVk3RENzSWlUTkkKLS0tIEx3UTBXTGRvVGd3TjdETlVFWUdn
|
||||
M0J4TmZCam5jOHNnOWlqOW9hTnNvRTQKR2X0uze2pVEmQ54atawqZ8P9RL9fSQyX
|
||||
IyBSB6KIj1LTtlDfTerXZ8asJBl/FWAJNZMTsL1wZq4+vTOdR/BvlA==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0TG94VzZCZFB4d0xOK2Vp
|
||||
ZU56K04yT0FMMGpTcEs2am9naXNldXJrZVNjCkR0a0JpSHNwMlY3bEY4SzBZci9H
|
||||
SnJ3ZVBaR1VhYWZCaVVPTU16Tjk5OUEKLS0tIEh4aDlrKzJjejliQ0liMFZSMTRh
|
||||
aUIyU0NtOTBFellqa1BlT3REOVNLTHcK+EZy78BFEIgmlkOKNj+PrD+UHvTsY+lw
|
||||
k59McaLS6aClkCYz71eTnGNQnWz1d+aTeqxkmwHCoKH7a3uspAn78g==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:29Z"
|
||||
mac: ENC[AES256_GCM,data:M2y12n6Q2fI7kqi5eAIZxGlwUemWsnabXmvRHS0C2AGN5b00sfxSti1M/fZXP9ubjZR+Ms1D0dta8dyAcCPdSNQMzGew5x4Cdv6CLkcXaTbORI5Bl2X2E8XRwDeZYuM9F4hpPnXa02MaCFQyIQiLyhk6m9xz9GlNCqCSejZOr8M=,iv:uK3ya99vk0AXWVyvA0B0UMDmHEJUOOGHKydaanPGkLQ=,tag:lRtmmkv8bCh6GBxtON7L0g==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:39Z"
|
||||
mac: ENC[AES256_GCM,data:WAxa4Cn/zwcsYSvvYOd/WTx8sHJjsxLqY1fbDn2wp9PifrGwkFI13wZQEdb/kJoBB966nJjXPd0sFOjwWhk8UsroFDmNnGtmxnSIaxKuv9+GmqAa9oTWYzwPkWcMI5mA19U5lw198eXym7fK3WwOSJZtSodRrA59ZCUwsJ7PKsQ=,iv:rvzBbbnZ74lWU/dnqxirk5irHSirNId5s2uehRGEygo=,tag:dvf7mDj0N0kg18uEDkkPkA==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -4,21 +4,21 @@ metadata:
|
||||
name: markdown-vault-mcp-secrets
|
||||
namespace: mcp
|
||||
stringData:
|
||||
BEARER_TOKEN: ENC[AES256_GCM,data:/5wHS4TFUzbVgvL//s7nIor1roI8LaEI92ag37bp5APhICqCigdNHCDv8rr3vUf+Ss+CxZoYTNkgZsieus36Tg==,iv:i2H2rL434MTnlcRLq+lI8mu7ao7DmDc/TPT/xB6q0UQ=,tag:DAN4aUknohmHF/kW5aFayQ==,type:str]
|
||||
OIDC_CLIENT_SECRET: ENC[AES256_GCM,data:oleyhjc47S0he4zsU2grRQZvfXntT6hC2nqTGayQT++OMACMI6W1VoeyTYu0AJFIIYBU5bldLnXnJZyOlEGkmA==,iv:qjeXO1aFsRSboxgNYL0/RvKUSSKO+zevEhcKZpJlMCo=,tag:JzZCKxJfoUrge0PTB5nb0w==,type:str]
|
||||
OIDC_JWT_SIGNING_KEY: ENC[AES256_GCM,data:ac8Et8AxqWJIElTkU/5mtnow7LCmCDungLtEGI/7hZwr/KGtKX1q4rppmBhgb4odEfMjG2yUNXbHqGbDF+nX8A==,iv:PQkSr2/sPGk8FoGkuRFcC+Iy1FjhHa7vlTeDxKKJo6Q=,tag:rfGcZDUExxWViCwkwgVSdw==,type:str]
|
||||
BEARER_TOKEN: ENC[AES256_GCM,data:ZYZD68H3J7iMLvNBUIx0AyW84ax7DmVShPht2i6SuNLDtDp2BVEHmiYaeTrwNNqVWHlOw962n9AFNHNdCk4bEQ==,iv:dgrJelpseiJlqE1UFrV+FcTPPPGp5Zi7tuvhOUyUb+o=,tag:FXMbbQw5YdTPoBJOZUZm3w==,type:str]
|
||||
OIDC_CLIENT_SECRET: ENC[AES256_GCM,data:+v7Z9nzWRTueVpynLFqIXlO3A4G/ahGWiW3jgFAU+AHec8vcRwEn17tDGzFZC+pqOvf5akabhQY58dQPQSwL1g==,iv:XDdrWbD5hBRzmU6Yi+TzIrlPOIwRfT4saa2VHoxlzwc=,tag:0ahp/dlWO0RRq5Onv4VkaQ==,type:str]
|
||||
OIDC_JWT_SIGNING_KEY: ENC[AES256_GCM,data:RCbJpLoOH4Oaz4tKzvcrlT9ERlNIKgziUQwZzOdrJaylME6ai/SePIFUQenHg+Ecie//WwS6hnKH0MZoD/0LNg==,iv:lN3TRvneC+UKcY88n+c+vJVGLpDdNSPUaKI0n7eixdg=,tag:dOpknPqy42KjhOA3KoBDFg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1kct5g7d7eus2hvdnmx99ewsrtz70lhlasxa25euqwdctqhwqqpxqz0n7gg
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5VjNiM2ZTMGNPdTdPUnpM
|
||||
K21uRUJQaEtDRW1SRWJVR0FNSGcyL1JIQWc4ClBrd0dQR1ZlQWx1VEdqRDVTVUwv
|
||||
QVZzQnRKcUZYNmg3a1dVQlZBQnRtZEUKLS0tIDM1YUUrTXR4Q2JoWXpyZkpPdFRp
|
||||
TWkramFkZjFhUG9JamR6RXZIRXRNSHcK0d30Tdc14MsJ2lzbv8ftj0VP0IM3yPDR
|
||||
Ow/c+IA4nz7YMKeOfTGF5sd4VWVwFN0zBxPB4i0LECa56HZ7n5yCnQ==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrMmRvOVBGdkJkTkczU3Vj
|
||||
S3VQd0lha0pNelVVWW9wZlRDZkF1YjBGeHhvClpZS2piM1I0Sit6NG9WVjdjSmlU
|
||||
UzUyam5wMWZYL0w3eDVNQlgyRGNJaFUKLS0tIDJSRzNxRVRlUnlKZUMwaUVzODJ2
|
||||
R3hlLzdKME9laXg3TUhBSXdWWXhqcFEKNan9DcpAOusXDKCOAINEWrtS3vBv9KTo
|
||||
9P9R9VgMGXezKJlNmrnTdjfxqLmxwqtmWE7SQwhJk9yzZclg38CZ9Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:30Z"
|
||||
mac: ENC[AES256_GCM,data:PNOwmif0L2j/wwYkLmgJNBw0Vb9qMpDr8+1fhZZ8CvHuVurZ4ycor5xElV3UTUGun1DAlU5cPhud41GQ1MvUADbVwzPTtlQNkC/8vuDRr0nQIhx+UaGRB+6j/5gvfKqigauX1aeV2xIoF0uZdoGY1g91tdyNoIS6CD1l61AS3GY=,iv:B/HkBrHT93lunnGU84EL05gvaTFzyU3cwBSfeu5t22E=,tag:bIGrLJkUeHJ9hEtE0LwXNA==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:39Z"
|
||||
mac: ENC[AES256_GCM,data:SLEQmF/2OL+3HmMkFLFHEL++5cHw3hW9JFTOIaJEKDii/HdOhTy3JDlBjT46qOksKW8JHzuZAgaLhU+dgmJacCXVESDtvxAKhItfJshjgwuTzo6KrEFtZO0If+oX5q2kqnogza1o/HeXdhCWjo2hKz1T/OVYwsP928atLrGRZtM=,iv:DbT55VYmeFspcrTW6Y/u4/138h7Zk08jr4a3i7EQsPc=,tag:FrkJ2NxQNqBdtHg52zq7rw==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -4,19 +4,19 @@ metadata:
|
||||
name: mosquitto-passwd
|
||||
namespace: mqtt
|
||||
stringData:
|
||||
passwd: ENC[AES256_GCM,data:zVGrqFMcQKR5vNAtjPzVriJlsv4ivyo/2QC18YD681aY1H6Iqrz3SwNYoY3ddE9wK4/dQ1304UkgOr7YXbYbMWiF0MfE1sKiYycdk79IqTHWxAWZhXAwZVPiWMNoS8M54oPQ/2bzoU5+gvBHKSG42omvWF9JajDZ5rzOAtOszlC7LgT/EVZbiNWKkElpGqmYtO68o4jUa2S5znsV4H1wv4KOdqJFXlv0j8L+73yXhrslH5xMaCwbvmVNqAS2UQ==,iv:8EqQ9pM4jrrhzyx/q8ndo6Wzby+xq+ChZKwsP+IfVTg=,tag:Nog8bBqw/5Q2FmdD47d2xg==,type:str]
|
||||
passwd: ENC[AES256_GCM,data:vx6rVXF4dpXvkso3A2C3h+xugSLrNptZqjwWvPWCl+Z1NZTK0LBZYgD+l+K+2Zy3Yp+VTy5vmdkeQp3EdBoZKW7z9DktPQ+RQ1B+s/IuJZ96+3mHzCbhGrOlmWycPXzDznWIrZipptGzS1jWOvMryp4GTMr3uO5JiTlNpkAkHi30R99VaLWW0wASkjDvymPUFJGzpehUrxLHrbWxOxd7O2SEVIv0prCfTn/y2iUYIqCV9NyfdiRKuHYGlggCgg==,iv:ddtwmwtWgtDGuZkA6pcX9388XdCC/OF4KKb1BYMCn20=,tag:me8zubD5vPfCzGfeNRepMQ==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1u236u5mzkzj72y4mfxx68gfqw0u0j6tdgkudnm5pdfpe7apq4u6s89jr2h
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0ekRwV0NJV1JFc1lVSzQ5
|
||||
QVduYVRaVjRZVVdDL1JMZWpzR3FwVVVwWVZZCjdRQVZIcGpWYXBselQxWThya0NZ
|
||||
TC9DdTYxdis3MTZBU1NJYnZhdkdRYWMKLS0tIDhZR3BjTEd4TEFaUlRXdi9QcVlh
|
||||
MlRCbXJUakJueTVTa3VGR2pVaktMZWcKhsOXlkRM6Pr5S9LJt2yYdMJxtXQfvzV8
|
||||
2fYO1EBcsj94PqflpGxPSpBjLvvioiMdQ3tsSSIaaznWYPX5YIiQbg==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSQUdNai9GZ3ByaHZXRWRz
|
||||
aWJCbFlKMXptR3RRaXczQW5sLzZNWSt1cVVzCmZ4R3NEZ09ZZ2pTeC9ZQ2thMElV
|
||||
M245eDdnZUVKOXovSFVwcUpsRHlGc2MKLS0tIER5b0ppYlVDL3RQLzBUUklUTGVi
|
||||
U1U5VUZFc0tpQ3V3MkhXcGl6aldwRk0KbmHp7whZvvBHpQcBRxyhHOD3GqrUqnzj
|
||||
gepSvnkBGPy4xS/833RWMLiaJOjJPIwTBKIwD2Yq4xyNOoxEZ/4gTA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:31Z"
|
||||
mac: ENC[AES256_GCM,data:KARZJRsC4DmzVjdZSonCACCQVOQ72sAYjzD6Wojap4EFjLE0CBQMb9ZguRE47aTO6b5X7s4ltNlYJ6LsAtCyDA3DdggYaRIwNjotzxc7LzRXykszTUgjqN5cSBgf30NLXH9h2PaU54vjRwhOedAOEHUTR/MoxlkKZ/ryoLAtJpk=,iv:qV29VID24dPRHVY+RxpZX2ecGaJTBjxujvAHfsb03Dg=,tag:ALEiuI7REJJa9qE0ZJ+9Kw==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:40Z"
|
||||
mac: ENC[AES256_GCM,data:GwTuNbW+Ys1WTsciqa78quN7lxdMuuiL4UiczSqEY2uLZh6A/Hxgh/ioCtmtG2B/XiUfwqf2F1O7rZ4WXXoAl0ARh+x5iWjC8tVncMBK36RGN//iIOFY7ctsmwPiGHshPdRasgXU4FefmzyjavpC470xgAkyiMRN18dfONHovro=,iv:Xq0lJQEiEpJoSr2kgfbkQUyRxK4Ac0Kuhrbt3ufi+7c=,tag:VeZ/HayMq6E5u6ezz3fsjQ==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: nfs-photo-config
|
||||
namespace: nfs
|
||||
data:
|
||||
ganesha.conf: |
|
||||
NFS_Core_Param {
|
||||
NFS_Port = 2049;
|
||||
Protocols = NFSv4;
|
||||
Fsid_Device = true;
|
||||
}
|
||||
|
||||
NFSV4 {
|
||||
RecoveryBackend = fs_ng;
|
||||
RecoveryRoot = /recovery;
|
||||
Lease_Lifetime = 40;
|
||||
Grace_Period = 50;
|
||||
}
|
||||
|
||||
VFS {
|
||||
Link_Support = true;
|
||||
Symlink_Support = true;
|
||||
CanSetTime = true;
|
||||
umask = 0000;
|
||||
}
|
||||
|
||||
EXPORT {
|
||||
Export_Id = 1;
|
||||
|
||||
Path = /export;
|
||||
Pseudo = /export;
|
||||
|
||||
SecType = sys;
|
||||
Protocols = NFSv4;
|
||||
|
||||
FSAL {
|
||||
Name = VFS;
|
||||
}
|
||||
|
||||
CLIENT {
|
||||
Clients = *;
|
||||
Access_Type = RW;
|
||||
Squash = No_Root_Squash;
|
||||
Protocols = NFSv4;
|
||||
}
|
||||
}
|
||||
|
||||
# individual disks, exported alongside the merged /export view so
|
||||
# clients (webdav) can also see each underlying disk on its own.
|
||||
EXPORT {
|
||||
Export_Id = 2;
|
||||
|
||||
Path = /disks/base;
|
||||
Pseudo = /base;
|
||||
|
||||
SecType = sys;
|
||||
Protocols = NFSv4;
|
||||
|
||||
FSAL {
|
||||
Name = VFS;
|
||||
}
|
||||
|
||||
CLIENT {
|
||||
Clients = *;
|
||||
Access_Type = RW;
|
||||
Squash = No_Root_Squash;
|
||||
Protocols = NFSv4;
|
||||
}
|
||||
}
|
||||
|
||||
EXPORT {
|
||||
Export_Id = 3;
|
||||
|
||||
Path = /disks/sub1;
|
||||
Pseudo = /sub1;
|
||||
|
||||
SecType = sys;
|
||||
Protocols = NFSv4;
|
||||
|
||||
FSAL {
|
||||
Name = VFS;
|
||||
}
|
||||
|
||||
CLIENT {
|
||||
Clients = *;
|
||||
Access_Type = RW;
|
||||
Squash = No_Root_Squash;
|
||||
Protocols = NFSv4;
|
||||
}
|
||||
}
|
||||
|
||||
LOG {
|
||||
Default_Log_Level = INFO;
|
||||
}
|
||||
@@ -1,240 +0,0 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: nfs-photo
|
||||
namespace: nfs
|
||||
spec:
|
||||
interval: 30m
|
||||
chartRef:
|
||||
kind: OCIRepository
|
||||
name: nfs-photo
|
||||
driftDetection:
|
||||
mode: enabled
|
||||
values:
|
||||
controllers:
|
||||
app:
|
||||
strategy: Recreate
|
||||
podDisruptionBudget:
|
||||
maxUnavailable: "0"
|
||||
initContainers:
|
||||
fix-permissions:
|
||||
image:
|
||||
repository: hectorm/nfs-ganesha
|
||||
tag: v10
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- chmod -R a+rwX /disks/base /disks/sub1
|
||||
# native sidecar (restartPolicy: Always): mounts the two disks and
|
||||
# exposes their union at /disks/merged via FUSE. It must be up and
|
||||
# actually mounted *before* the "app" container is created, since
|
||||
# HostToContainer propagation only relays mounts made *after* the
|
||||
# receiving container's own mount exists - it won't retroactively
|
||||
# pick up a FUSE mount that's already there. Running it as a
|
||||
# restartPolicy:Always init container (started, gated on the
|
||||
# startupProbe below, before regular containers) guarantees that
|
||||
# ordering; a regular sidecar container racing "app" on every pod
|
||||
# start does not.
|
||||
mergerfs:
|
||||
dependsOn:
|
||||
- fix-permissions
|
||||
restartPolicy: Always
|
||||
image:
|
||||
repository: ghcr.io/hotio/mergerfs
|
||||
tag: release-v2.42.0
|
||||
args:
|
||||
- "-o"
|
||||
# category.search=newest (not ff): getattr on the merged root
|
||||
# dir has to report one branch's attrs, and with ff that's
|
||||
# always the first branch (base) regardless of which branch
|
||||
# actually changed. NFS-Ganesha's directory cache relies on
|
||||
# that mtime to know when to re-fetch a stale readdir listing
|
||||
# - with ff, writes to any branch but the first never bump the
|
||||
# merged root's reported mtime, so Ganesha keeps serving a
|
||||
# stale listing to NFS clients (confirmed: mergerfs's own
|
||||
# readdir is always a correct live union - this is purely a
|
||||
# getattr/mtime-propagation issue up through the NFS cache).
|
||||
- "allow_other,use_ino,func.create=ff,category.action=all,category.create=ff,category.search=newest"
|
||||
- "/disks/base:/disks/sub1"
|
||||
- "/disks/merged"
|
||||
securityContext:
|
||||
privileged: true
|
||||
probes:
|
||||
startup:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- grep -q fuse.mergerfs /proc/mounts
|
||||
periodSeconds: 1
|
||||
timeoutSeconds: 2
|
||||
failureThreshold: 30
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
memory: 512Mi
|
||||
# runs after mergerfs is confirmed mounted (see dependsOn) and has
|
||||
# /export, /disks/base and /disks/sub1 all mounted too, so the
|
||||
# /proc/self/mounts snapshot it takes covers every path ganesha
|
||||
# exports. ganesha's FSAL_VFS resolves each EXPORT's Path against
|
||||
# this frozen /etc/mtab, not the live /proc/mounts - any exported
|
||||
# path missing from it (e.g. this ran before mergerfs, or without
|
||||
# that path mounted here at all) fails at startup with
|
||||
# "resolve_posix_filesystem(<path>) ... No such file or directory"
|
||||
# even though the path is mounted fine in every other container.
|
||||
mtab-setup:
|
||||
dependsOn:
|
||||
- mergerfs
|
||||
image:
|
||||
repository: hectorm/nfs-ganesha
|
||||
tag: v10
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- cat /proc/self/mounts > /mtab-vol/mtab
|
||||
containers:
|
||||
app:
|
||||
image:
|
||||
repository: hectorm/nfs-ganesha
|
||||
tag: v10
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
add:
|
||||
- CHOWN
|
||||
- DAC_OVERRIDE
|
||||
- DAC_READ_SEARCH
|
||||
- FOWNER
|
||||
- FSETID
|
||||
- SETGID
|
||||
- SETUID
|
||||
- SYS_RESOURCE
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
spec:
|
||||
initialDelaySeconds: 2
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 2
|
||||
failureThreshold: 3
|
||||
readiness:
|
||||
enabled: true
|
||||
spec:
|
||||
initialDelaySeconds: 1
|
||||
periodSeconds: 2
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
memory: 512Mi
|
||||
|
||||
service:
|
||||
app:
|
||||
controller: app
|
||||
# cluster-internal only. pinned (not DNS name): webdav's PV mounts
|
||||
# this over NFS via the kubelet's in-tree kernel NFS client, which
|
||||
# runs in the node's host network namespace and can't reliably
|
||||
# resolve/route Kubernetes Service DNS names - it needs a stable IP
|
||||
# it can reach directly.
|
||||
type: ClusterIP
|
||||
clusterIP: 10.43.166.34
|
||||
ports:
|
||||
nfs:
|
||||
port: 2049
|
||||
protocol: TCP
|
||||
|
||||
persistence:
|
||||
config:
|
||||
type: configMap
|
||||
name: nfs-photo-config
|
||||
globalMounts:
|
||||
- path: /etc/ganesha/ganesha.conf
|
||||
subPath: ganesha.conf
|
||||
readOnly: true
|
||||
base:
|
||||
type: persistentVolumeClaim
|
||||
accessMode: ReadWriteOnce
|
||||
size: 100Gi
|
||||
storageClass: longhorn-single-replica
|
||||
retain: true
|
||||
advancedMounts:
|
||||
app:
|
||||
mergerfs:
|
||||
- path: /disks/base
|
||||
fix-permissions:
|
||||
- path: /disks/base
|
||||
# exported directly as its own NFS share (Pseudo=/base, see
|
||||
# configmap.yaml) alongside the merged /export view.
|
||||
app:
|
||||
- path: /disks/base
|
||||
mtab-setup:
|
||||
- path: /disks/base
|
||||
sub1:
|
||||
type: persistentVolumeClaim
|
||||
accessMode: ReadWriteOnce
|
||||
size: 100Gi
|
||||
storageClass: longhorn-single-replica
|
||||
retain: true
|
||||
advancedMounts:
|
||||
app:
|
||||
mergerfs:
|
||||
- path: /disks/sub1
|
||||
fix-permissions:
|
||||
- path: /disks/sub1
|
||||
# exported directly as its own NFS share (Pseudo=/sub1, see
|
||||
# configmap.yaml) alongside the merged /export view.
|
||||
app:
|
||||
- path: /disks/sub1
|
||||
mtab-setup:
|
||||
- path: /disks/sub1
|
||||
merged:
|
||||
type: emptyDir
|
||||
advancedMounts:
|
||||
app:
|
||||
mergerfs:
|
||||
- path: /disks/merged
|
||||
mountPropagation: Bidirectional
|
||||
app:
|
||||
- path: /export
|
||||
mountPropagation: HostToContainer
|
||||
mtab-setup:
|
||||
- path: /export
|
||||
mountPropagation: HostToContainer
|
||||
dev-fuse:
|
||||
type: hostPath
|
||||
hostPath: /dev/fuse
|
||||
advancedMounts:
|
||||
app:
|
||||
mergerfs:
|
||||
- path: /dev/fuse
|
||||
run:
|
||||
type: emptyDir
|
||||
globalMounts:
|
||||
- path: /run
|
||||
tmp:
|
||||
type: emptyDir
|
||||
globalMounts:
|
||||
- path: /tmp
|
||||
recovery:
|
||||
type: emptyDir
|
||||
globalMounts:
|
||||
- path: /recovery
|
||||
etc-mtab:
|
||||
type: emptyDir
|
||||
advancedMounts:
|
||||
app:
|
||||
app:
|
||||
- path: /etc/mtab
|
||||
subPath: mtab
|
||||
mtab-setup:
|
||||
- path: /mtab-vol
|
||||
@@ -1,10 +0,0 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: OCIRepository
|
||||
metadata:
|
||||
name: nfs-photo
|
||||
namespace: nfs
|
||||
spec:
|
||||
interval: 1h
|
||||
url: oci://ghcr.io/bjw-s-labs/helm/app-template
|
||||
ref:
|
||||
tag: "5.0.1"
|
||||
@@ -1,6 +0,0 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrepository.yaml
|
||||
- configmap.yaml
|
||||
- helmrelease.yaml
|
||||
@@ -4,20 +4,20 @@ metadata:
|
||||
name: vaultwarden-secrets
|
||||
namespace: vaultwarden
|
||||
stringData:
|
||||
#ENC[AES256_GCM,data:4iLAaNssxEjpapC9wJr1DtKzE9tzV7rNp/dDbW92dEWaYflpbI7fDJaPGbnD5N7OGeAXaWtP2EJh,iv:i0GPZ/XWCdNJZt1Sy2RTn2OB3ufYLozxvmADBnyAgnc=,tag:2hAzue8wQ/MgoNcUMmINzA==,type:comment]
|
||||
ADMIN_TOKEN: ENC[AES256_GCM,data:bVdm5vb0HTu2UwL8tvnNppZfuLgjd9H7sy1xP/So+yGzLfeX3a3vQogKqWKLRmja6XMYhvQfhNIXgykixrxKYuwdhoWgbCsaYoLr5JMovsd6s5AjC7klhR8ubdRQ4eh82CG5AkDf+cNnACSrsORpdSON87Kneg==,iv:MrCEkjdtUj3jRYpY7nip1OZlRroseleu7T5maSO5Plg=,tag:LqDwwtCKlIBufCeXjzo4cw==,type:str]
|
||||
#ENC[AES256_GCM,data:TMN5qNN8MaoHPLM3so5WaedYv6Pe6yMiWeNoTeaGrsMYzyyjXdmNvWjTtCqBIjI1Ui6IE+7WbVgX,iv:dLI70rzHlnl/KuVrH6g5uWFSfcPcyQ5P4Yu3jglMKiI=,tag:ogl1aIxdu/OqhczGGV2kvQ==,type:comment]
|
||||
ADMIN_TOKEN: ENC[AES256_GCM,data:5a1csddeGt5TrBGV826S4jOWX//LL1IJmGAgsx7UqXXqmBDyoyFmOFtG40emZcAEwdMTs54oy/5Gb3wBpY8znPnfV8TCyiQtRTE4AXardoxpBSoOb7Ldve3wWQL85qaz0IcyWCBORp8959SlFLH1IZzhT8s8CA==,iv:PRdjszZDdWO/0y1UFNApCSvN7LVvJl2O+KGQPZf2AME=,tag:Eir7V8+nXLwdn2kyhCUpVA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age109zta6l0cwpkxn5wek82kvauxn6yqrq80rsz4mvu5atdnpcn9pusuvnqk5
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZcWc1U2cyekZyaFQ5UTRY
|
||||
V2Jjam1STTgvcHlRMjg2bjlsQjV1eWlucUQ4CnR3dFFoT0l2MFY5QTc2TjhlbDg2
|
||||
K0Z4MmVFdVE5alVvZzlYTnBObnNBU2cKLS0tIE9ZRS95T3ZEVUF5TVQ4MUVRSGxF
|
||||
eStHK3oxcUdzazNnY1J5MkZtZTY4dUEKof+V/AJ7DCcdGHVo0kZsPwFd9X7sDtyo
|
||||
Nrc0xlVH1+OwTXnta991CIyKFmssV637US6zdy2EkAH53po7hSdELg==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWSWVzb1h6YXgrS0lGUkhu
|
||||
Qk5taDQwT2ZxdDRKMUpURy84SUF0dm5OOUJVClg5a0tTR01OR1BRZjNiRkVDZWpv
|
||||
OXlwVnU0VmxKNHYzSC9DQmFPUHFDbjAKLS0tIFNRQWRjd0JrVzFPY1ptQlljVVUz
|
||||
Umxnem5DWmh4Z2RQMVAxOHhnaWhydm8Keyn4W+WeotJcbtTksrAl4XEtFF6dKXDl
|
||||
pcPh05XDahs8AcYhKeo8iCmqhXrv/5R+u9yJ9mTPAGc7ZrJZq1acNg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:32Z"
|
||||
mac: ENC[AES256_GCM,data:U8O7RfZ0yBQIWTsPaNILCVT4nhVfPRANAABZI+LCvHF4Nrf69LQCTPiaoXwAuNK02jEZwrT5LmkS6vfiEBotvsy9VvwmF4uwW/3WwxF9EnfMi6YdRJ1Yb1rRJKfPrHCFuPrd0odj0lBeKalOGyd+B4xzWMZpONzIQZpbwPBiDx8=,iv:k11/B5N3sPUbZfLesdeVLNHsUkdVXjLvzJ5jrXRqwps=,tag:XabU7gCEXzEE/6Uqm8PO4w==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:41Z"
|
||||
mac: ENC[AES256_GCM,data:wdGbJfvWn8rg4tA2gkefJCSZbPXjexs+JUJKUAhvdSWJLMsfJYAm3LfamUJuxmyMsiA3rQVh6ja0DG9idEED5TghGD8tgsj9zOzu/kcvcC8yiqCIl2flxxAsUsJTnIOHR4GNN1c7B3Hwhj5oEAFUQDHc7R/Whj/Nae3gKNsqlbY=,iv:OZsl+FOPN7Khadxhmh3HDwwFD7ubzryRrrBlVr2/LOw=,tag:ZgB5/vi+qu9juaYw+Pc+3A==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -90,21 +90,6 @@ spec:
|
||||
existingClaim: ganesha-export
|
||||
globalMounts:
|
||||
- path: /webdav/export
|
||||
photo:
|
||||
type: persistentVolumeClaim
|
||||
existingClaim: nfs-photo-export
|
||||
globalMounts:
|
||||
- path: /webdav/photo/library
|
||||
photo-base:
|
||||
type: persistentVolumeClaim
|
||||
existingClaim: nfs-photo-base
|
||||
globalMounts:
|
||||
- path: /webdav/photo/library-base
|
||||
photo-sub1:
|
||||
type: persistentVolumeClaim
|
||||
existingClaim: nfs-photo-sub1
|
||||
globalMounts:
|
||||
- path: /webdav/photo/library-sub1
|
||||
sda2:
|
||||
type: persistentVolumeClaim
|
||||
existingClaim: nas1-sda2
|
||||
|
||||
@@ -36,118 +36,6 @@ spec:
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-photo-export-nfs
|
||||
spec:
|
||||
capacity:
|
||||
storage: 200Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
# pinned ClusterIP, not the service DNS name - kubelet's in-tree kernel
|
||||
# NFS client runs in the node's host network namespace and can't
|
||||
# reliably resolve/route Kubernetes Service DNS names. See nfs-photo's
|
||||
# helmrelease.yaml (service.app.clusterIP) for the matching pin.
|
||||
server: 10.43.166.34
|
||||
path: /export
|
||||
claimRef:
|
||||
namespace: webdav
|
||||
name: nfs-photo-export
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-photo-export
|
||||
namespace: webdav
|
||||
annotations:
|
||||
helm.sh/resource-policy: keep
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: ""
|
||||
volumeName: nfs-photo-export-nfs
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-photo-base-nfs
|
||||
spec:
|
||||
capacity:
|
||||
storage: 100Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 10.43.166.34
|
||||
path: /base
|
||||
claimRef:
|
||||
namespace: webdav
|
||||
name: nfs-photo-base
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-photo-base
|
||||
namespace: webdav
|
||||
annotations:
|
||||
helm.sh/resource-policy: keep
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: ""
|
||||
volumeName: nfs-photo-base-nfs
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-photo-sub1-nfs
|
||||
spec:
|
||||
capacity:
|
||||
storage: 100Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 10.43.166.34
|
||||
path: /sub1
|
||||
claimRef:
|
||||
namespace: webdav
|
||||
name: nfs-photo-sub1
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-photo-sub1
|
||||
namespace: webdav
|
||||
annotations:
|
||||
helm.sh/resource-policy: keep
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: ""
|
||||
volumeName: nfs-photo-sub1-nfs
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nas1-sda2-nfs
|
||||
spec:
|
||||
|
||||
@@ -4,20 +4,20 @@ metadata:
|
||||
name: webdav-secrets
|
||||
namespace: webdav
|
||||
stringData:
|
||||
WEBDAV_USERNAME: ENC[AES256_GCM,data:nZdShvc=,iv:N9d/RLw7/LIA4KQPgnE3+/8oSeXP+U+7flrr6bRtkpk=,tag:ck/SX0JE2MlsbbppjKGAuw==,type:str]
|
||||
WEBDAV_PASSWORD: ENC[AES256_GCM,data:bKj44og7bLk4J1nOk+NYJozcRrCIO8oLC2YDKiuIOp+/mP1hzociGkXiw5XMSsck,iv:pflTHT61DL8llQa6BVRjjvK2O+sXtjWVX0l6uDpkX3o=,tag:BfYjYK9VsqihrNo4VECHcw==,type:str]
|
||||
WEBDAV_USERNAME: ENC[AES256_GCM,data:v0JX04A=,iv:LT4o0j2vHYLW/sWY6Cxr77XWs+tsSV0L+SPeLTRmv4M=,tag:0nXa+esguqcPJtst0kix2w==,type:str]
|
||||
WEBDAV_PASSWORD: ENC[AES256_GCM,data:oA8aGH4uID6uCx6tqWGlcYnQRoYwoJ3obCVdegZLnB7Ebc118Xbc7VVVIEyDeEH2,iv:tAiDQbi1NMZozkozXqUDqx75khYyAcaeNE2FVVnqfQA=,tag:7jsUwo4rb7SBJ/dMOJPHTw==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1y8t9v56yuvskznddqfsd4yddzzch0yf2dutvvt8rrx6rjh5f9g0s3qeays
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZMEY5MlBsSTFRdlFCZ3dy
|
||||
L2J2c0FqL3lmS045U2J5VGRnb3pPdWpLa1NnCmpjWFdqaVEwblovaHFEb3ZhMDlw
|
||||
TXc1TnZabjBIZFkwVkxYelFCbUQ1d28KLS0tIG1ENEZqQ21qaGhMZWhiL1JrWnFh
|
||||
TjExckwrTW4rV1NkQndNeUF2WWJZcFEKaOpXhoR5e20zWvACdNGfIJxusZ+AC+Nn
|
||||
KnG6v8sQl34aylw+TeTR3ibmTupToyZoX6mVUXBdLDCzB8CT+hxehA==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0eXJSc3A3cVVodFdXMmsz
|
||||
OGtPdmRYR3NWM0J6U0prMjdJQzFESloySEVBCmJPT3lPblo3OFhURlJZR2NNNmo1
|
||||
WTZDYTJxWXVBTFlxcmtoTEJwcnhSS0UKLS0tIHlEODV0YXhRZ3B6VTlMdDVqVTZB
|
||||
RExqV29TRWppRElkZmhwcGJzbHlqYVEKSPuo4vovXaOzH3etf/zS/o8twB4S38VH
|
||||
n5Dq5A9ZWCsAg2XdVkoaVMf0dWyUC7C+5hc2gvn1DSyZYf4afYbdMQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:32Z"
|
||||
mac: ENC[AES256_GCM,data:SfFGemzruM6xmH22/TPV93JjIbZmgVopRh/6gQPlpZ6PxksKEzFXBU3VwIAYigr1xNmSInGB67+DCWMWZ9eDWnG0cb9kxdGEd7wH5lPAJp7Lpkibnv3bT9qxE7vOZkdJbe+9OF6a/x3xbMeaszYXzEVq3X0LeEoIYNFvDssJGBM=,iv:owir/2ULkuVr6CeKTS02UMvpIAFR2hVE8WpefRpyRck=,tag:MuA4NzXTsx5wsNA9v+a5Nw==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:42Z"
|
||||
mac: ENC[AES256_GCM,data:byL9l24s9Lqx2GlHOSV6efZyf3uJAE8ju5Dia3lM/7BLoRrCifnQ/wlZ0JAsKQRJabtE6f9BZ3O85XaEE2ZQkM0Q/YWJ7keRwwpMrXD8PHgYjNnb1M0qiTEvCVIdP/Y3ZF1KfNG7Gl7f3gXeAONhkaSmp8aS4ogk7xSMMECYJQ4=,iv:UwprivEHRWeJVpDmzfJRVSs/Ca54ln7u/Qe9DbQMzng=,tag:lPsYjJRotG7nAjlCDXdS5Q==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -4,19 +4,19 @@ metadata:
|
||||
name: zigbee2mqtt-secrets
|
||||
namespace: zigbee2mqtt
|
||||
stringData:
|
||||
secret.yaml: ENC[AES256_GCM,data:zD2kJfWkXrirqZ2hbKBg/b/IT+d57OKvLlHTrU9Qf1FIbAA6WQMSczMehyjPVKhwB16haR2hm/cAmGSnLxbu9rh/0F2lI2XcIpBIuhoxExC45q7o7Ew1OOVmtp7jm12ON3O0U8TPd4AdhugX/yzU5JmLsU1zOdnGx6YPNuQ=,iv:VnSZSqDJxNQ2KRV3Vbu+X+pg7CePRj0dUDrJSiUIFqA=,tag:BIPm2MKSYaGcW9WLyW0+fw==,type:str]
|
||||
secret.yaml: ENC[AES256_GCM,data:OylIO4CFvxPDiZuKSc4gY8QMaUdFXu0LT6ko8Lvx+WpJr1tONYuJy8PiHpUS/q8HbnK1xfA516+/s63s/p4BscTWaPoXsQgTvryQS93LBN9b3Zy/bKnjyjrZCrA3hbPE2kN8XI/c3+sSPWbSLem45CJz/BWyWphNoGJgxOE=,iv:XwN4BgwUyk0JHqiqmRcerP7yrbzlgrpU5cepBYsuB8M=,tag:hE3IBNftFjRwKWjSGVd/Jg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1tu4xgfefvgdda0vn2thaqndq4p9tuydq2ud6qa98tzzgnff6749qnlcx29
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBROWhvZFBHZUZLUlJ0MmhL
|
||||
dnUrNmYzcTJWM1RHc2NYY2sxVUdxZkduSUdjCnRYcGpCT1NTUUQ2K3kwSUxDVW1l
|
||||
azVpWjNxNE8vRGpUdXdQR0VSMnlXZkkKLS0tIGczaWhxSmhXVVN0YWpTYTRieXlr
|
||||
WWFyOXEyNzh6aVlXT25maG83SVNrdUUKAdPPCm0nTIo5WIEKzsAzNoxK1LfpdSQd
|
||||
r63l6csfbkWl079xm3ZVq1UV+jfEX4mRn6EsYMH/i+tVgjQc0g0BKQ==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6SWp4WXJzd2ZVY2MrSEtU
|
||||
K08wSXJCSjExZnlRQStTQk1vMUxmWk8ybkRvCktCUkFucjBTalJPbVRaQUxCRUpl
|
||||
VmRqMXZjbVN3REJiNFhoNHhlSDk2R1UKLS0tIFFwMkk2RnpTdmhzSmV6ZVZnWHhz
|
||||
ZjJDMUI0bmxmUjRpaE52OEo2R1ZIZTAKEdBooxF6Siv0mIODZAJ1fuB6SQjNOfEn
|
||||
HxG3aIfILcgZmEQpYrHhlE10B6fLNcU9Kq4i6jz+s9o1HSTH7oFflA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:33Z"
|
||||
mac: ENC[AES256_GCM,data:2G2hyItyAKvYxOn5m3rgNRzXsn/Gmrhj/xLiCz2cl88E59rnlujUlgi1kKMFv7QyXK9dQtr78EIQGdSmC+jItoJlC9zNMGD5AtDaij7CwdUo75zPy1Y8LKo9K1Xua9gfS2vCHbBCI8cwGVwE5TfIfE2lB04zjVLaTPbp5UgqjfY=,iv:bl13cjoDhSloNebCTTPZ7Pw37bKbLuFDcMmQh0LJndM=,tag:BkXXAMd6ySxRXvZZIaNzNw==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:43Z"
|
||||
mac: ENC[AES256_GCM,data:pcl7AAZ8xKEdgNGHkiEZN8qjTuP4mAA9wI9sSwK3uAu3hcekDG3kwe0qLzs/Gs2x+dn+n8JnfQDWNqORJuYhHG0Rxu5AciBANZekb0a6h1B5UTuOxt+z2YIfX/2D3+xetHereIwVR6gbeA/ATNNkSJyiSK4ujgF9bb6gRc/AB3w=,iv:C7gky4HrlfFwKMr7NYAqxiwuBeLKRmBt8OHWnV6CMz0=,tag:VEA3Ni4zuBnENUTYslxW1Q==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -4,21 +4,21 @@ metadata:
|
||||
name: longhorn-backup-target-secret
|
||||
namespace: longhorn-system
|
||||
stringData:
|
||||
AWS_ACCESS_KEY_ID: ENC[AES256_GCM,data:+BQQLrwxJgIXEVj6XSZofMirIRY=,iv:aR5z0STuo0tVQdw3LWJ5ZQWlztRqc85OlWplEQgjyEk=,tag:EhItdTZLzwzXL3V5hJLvNA==,type:str]
|
||||
AWS_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:yeSP7adfBHA7fh+knB2CPKUTJMmdSv0yHaLwcYCz0W6lUX4lgRYW2g==,iv:d8Fl4/jZYDdmfmXBZP0Uft4Wt9PJCLEed3DYuOcM96M=,tag:Z1oWUn55gKViexmW6YcPTQ==,type:str]
|
||||
AWS_ENDPOINTS: ENC[AES256_GCM,data:27yF4AQMqa+NIY0VjGHCoPXV5VinvywFTHzN6O4caOcbGevYHB3aCoX+XvNAFSycd7pewmBd3MD8VB8Z4A==,iv:rgxaOeOC+hSpXhf+5jIiYrBbDiSx+K5zdA5LJUp63EY=,tag:G+Tf0zYUxVj/4VJulGexVg==,type:str]
|
||||
AWS_ACCESS_KEY_ID: ENC[AES256_GCM,data:CzF3thQY1KXwV7RgGn0hCUS30t8=,iv:OAHduSdQI8o41T9qOf8pvYRAaHEJB6dVgFWHsrHVTHg=,tag:485xA0PzetwsJ0gbGq2SMA==,type:str]
|
||||
AWS_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:Xlk39e6Y36c+LYOe7NiiWw/L9m2MD3Ze3bM6m2RNwrezAUOnGjeVkg==,iv:rmO/HFXHdKvyCsHKFSRBYaU5xiaobxBQa7LdojoD4go=,tag:OgPPPmCgnG686wRjVkM6Ow==,type:str]
|
||||
AWS_ENDPOINTS: ENC[AES256_GCM,data:bxmMz2Nm4AV3FLFZieZorS9C87JqKFGVGuIkFIhJCHxh2OJZuxly4R18g7KEmIVItMuONFX0fuSJuc5qNA==,iv:V8NrW/o5xybTvGxYUMWOMgskOz8XAvmD46BhFYdIz4k=,tag:IBdOiYkc/IIc4QRO0Z92kw==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age18hhmdmupj90zjgjpxk3z5cf3lx36hcznnmqsp0fpyg50823pudrqjupydt
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtaFRuV2ltTVcyY1gyTkhp
|
||||
RnhyZ3YwUmhnVlQ2MlFwRkRYbERFRVpKbVFJCkdqY2ZQZmRpZk4ybVpkVGFCWDhj
|
||||
UWxSK3RzSS90S3N6cHNhTjNMaHN4WG8KLS0tIFNCUWE3VHhNMC90QmNJM2p6azVM
|
||||
ZTVvRFZtTEY0OFZPTVEraytvTDJITWMKkO3k936r4ewmQAS7aRTfSlK99aJqgLjF
|
||||
gPa8k8X9euxkWsz4jW+1hVFGmQbue1eRvj4QgBT6/p8IATb4Jfnzaw==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsRlRjM2ozb3FnZFdTaHRq
|
||||
b1VqNWdHSlppZ3ZrWWxBVEFKSm93U0lzZ0VBCnpJSzVVZ2VSQzUvWUFFMEU2Undx
|
||||
RVZybklwaUs0K0xhSXZJOWRxVTBBOFUKLS0tIElWM2hUa29LcU1Qa1BGcHoyWUNX
|
||||
OW1sREp5Qlhjamd5UGdjdmtGYTZaZU0KSXqn/zD+jgBoa9uAwt1vpSydJQEHmv/U
|
||||
k/9lKi9PMpxXs/g02OGocazOxVFnnnrlaCd8gFUg5Qfco1zID0cHiw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:34Z"
|
||||
mac: ENC[AES256_GCM,data:/FAZZ7T48tTxIovjvcVxOxNatPBuPiyRO19sBsXhsyEn4pu9M7rHdhgmoBldlg9rKI5RP/kntkQoKtQzjLDSEZVUWEHXQ8UIbMLdfFw8ifItxayILy7K1TMPekJp0jfalorzii7oqBnc9dlJXePG+cD1LQVPEMHhvzcj/f8NS2U=,iv:6owWcyi1V33MHAGeOKSWRKxvtV/Cvd52CNL0cWcFVCs=,tag:q0hxLoA9ZghpXeqWcHoFVg==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:44Z"
|
||||
mac: ENC[AES256_GCM,data:iX4YX9zmVcYrEcfnSi9ZHLKbE1DrxrkpavGBi1doZh1UJm+aCot/OGoHMmetOIo8r21vh1vLblXdXAQHzgelXEJsQITXc88eYmyzObwyQoiQizMhQde9lv3dV2ZNLivkJZYJvKZ7RmSpxBIWCF26UElob2eALVucDkQyjpwAI0c=,iv:2pE8xGw2sbBSRzALPpkDpPM+tBptS5uFk8en1aSGiO0=,tag:le/11hLzhQISA1JU/NV8FA==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -4,24 +4,24 @@ metadata:
|
||||
name: s3-backup-proxy-secrets
|
||||
namespace: longhorn-system
|
||||
stringData:
|
||||
WASABI_ACCESS_KEY_ID: ENC[AES256_GCM,data:IGkZMeXKi08HLTnW6eJrdQgp+KE=,iv:xYhv4oIEbUOX1JByHkqHnbNL6PMz3ARTWRg7pHS/UD0=,tag:NfKW7ubjVAyVr7JdprM4tw==,type:str]
|
||||
WASABI_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:Ch6HFGzOuX46Ilxr4ewV0gSRXxABbFR3LsQlITmflNluPYzkTkr/gw==,iv:hITaX8ch5N7Uyoq/FrjJ6edk6MsN55jCgEQu9mfv2aE=,tag:C9ZMVmcN7Fk2TN9AKQmprA==,type:str]
|
||||
CRYPT_PASSWORD: ENC[AES256_GCM,data:Gcii8QqKa9BysiCa6ZkgcLC5WTcCZrAgu7P79WlTZyEWa5y7Y9saESHALQ==,iv:+/MXrVhqxMthl9PoCJS6v1TWr8yFdsukGFwnc57hG3s=,tag:tTsEP5VF3inPK2PgDELztA==,type:str]
|
||||
CRYPT_PASSWORD2: ENC[AES256_GCM,data:XJG3q7nDAWJ35+AlSn92AMCgaj2S5kV10Fu618t0ssi7B9ofavNTGXb6eA==,iv:8YxmGdpkh5old4HFVFT4BD4yDFFcs+aW1s2le/1BXz0=,tag:oSLoa9KnEizW1QakA9uJgg==,type:str]
|
||||
PROXY_ACCESS_KEY: ENC[AES256_GCM,data:UoUdnb1eW1guaXRHHPUjXWj8r88=,iv:LYETftuDZSflZUhtuNBRbwrDDUD83jIIisz8TZbWdJk=,tag:KMyIy4QIv7AMOpw3NbWXmQ==,type:str]
|
||||
PROXY_SECRET_KEY: ENC[AES256_GCM,data:0VAzeJOwWEshqrQi9gISOKdM29gMAd8dsRPc9c+WTFt2Id+59tO5Mg==,iv:ZVSCRmKKG5wAKdPrHId8VwfcDj34HbQlO5IPyOAQrd8=,tag:piC06vgROa0wzLc2zoVc2Q==,type:str]
|
||||
WASABI_ACCESS_KEY_ID: ENC[AES256_GCM,data:f2Xjx/onP7nRPzVOut5W7ySQxKc=,iv:mKu4/qjPmp64+426oJyvoM87P9XUpzXNamPO6/7IKt4=,tag:7Hbla9XMKWguZVAFmOwXJg==,type:str]
|
||||
WASABI_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:/hgsEzaaeWumQj5f9DNuHtzuj16Y01f9PbRES4qUxCJ8uAf1DdNGrQ==,iv:WU6JQzodyHfIi110OVXOBhKdo5JHdmjNSYowdL7UXBg=,tag:emtbmHU3sNUJIWXorBa6Qw==,type:str]
|
||||
CRYPT_PASSWORD: ENC[AES256_GCM,data:FVaZbMQPfS97gBMDT1F4f7rOoEoTuu/Fxx9hG7HfrELklNm+HFXCLDd0cQ==,iv:Ao3s9IGMz3Bp7SXRTX3lrXDUVRCP3bQITT+tFH0DhBU=,tag:9nvJ5CH72BkZYK8Ev0jFNw==,type:str]
|
||||
CRYPT_PASSWORD2: ENC[AES256_GCM,data:HorsAqVyIqHKfQjyvd+H1VHtlcPGBuGdg7bxSTCFFfnHExg6g5X56YVDcw==,iv:dy+fwG+pIhVuVkG1+d+SD3HcMoLez2MYUhayxqWExss=,tag:z0mV3moLZ2ynFIuFVs9VkA==,type:str]
|
||||
PROXY_ACCESS_KEY: ENC[AES256_GCM,data:vycUoNonirOKU4Mxd5WfxpD5UD4=,iv:KzlQX1NOxa+jicuX+m+UsLMR+vHg0exLGy1tMtid9bE=,tag:kHfQRl3Konf6zcSu26cqpQ==,type:str]
|
||||
PROXY_SECRET_KEY: ENC[AES256_GCM,data:YaHtGifFnDQc4MaQFhv2FI9M0ucud7r/9WYE7UCb4CniQ9EsCJv5/Q==,iv:e4fWpZ02xJEvlUXCpSWdZfW4X+ni8nqlkluu69ap3kU=,tag:HXchMUvLNWMCz+lJX1BrgA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age15vc3geq4lsec69rnxczluvwgcexeqae02zxzjpswsuatthaasu7qzath48
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOXZJSmtYWHRWUnBJZGVU
|
||||
dnlsdkZGNk5GNG13Ly9FUFJ0cXZMdXhRNUg4CkN6TWNLN0dybGxqZTR2K09ZRWls
|
||||
ZWFYVmVCSllHUENBcnMrR01KY3JDSjQKLS0tIEkzZVlUWEhUSFArb1JxSHl5Q0tw
|
||||
UVhBY2NiUlBnTEEyRE9LSHVGZ3k2QkkKCcOvQ7vZLqW88Gj+9OoRuWXFQuRWtnIB
|
||||
aEdsOUnZOda/at6UIxLe3XuBj+vewhS2P0bOpJ6ZeuvQ2AhSlOT60g==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYMFhtTGxrUnpNRkMrSUVP
|
||||
V3hlU1MxS1lsTjBLV3p4Q2ZvZG96UUdzUEVRCjhzMnZDQzVON0oyWUtUR3N1VWFS
|
||||
Y2NZcEg5azBsa1RzUTg5U2gvWU5YVDgKLS0tIHVxTEE1UVBSelh2eE9TMlNDRk1k
|
||||
cFA3bUxJRHRIVXNNU0NFV2xjcUZnNjQKiwgX67PNY96xvb1BAh1zkgw4qSc7hqyk
|
||||
u+5+/QRBnA/nbXPueTDONIq47D7qNJ4kUw5Bo7o4mrX+iSlBYakVlA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-08-26T10:28:35Z"
|
||||
mac: ENC[AES256_GCM,data:7Q3lr8efEFlnA89RBeAmRpq+VX/T55Fu/6NJMs3BZC/8TYCNSvMshd+lbKU8vyuWLnE0N0NA7Hnxf4ykvknMETrPDeOMnS250S/9dknp0oTE6VrIN0HJMq8xBKyFh8Y0k8kRkZoICTM6t3kFXRsOG7M0CKN9s60bhVw5K77A0zA=,iv:fanKdbFdVEZrf32Lx2FOVwL/nPEbVh4kicoVcjxP90U=,tag:Rj/zYd/dKTQQRBDdR6rPqw==,type:str]
|
||||
lastmodified: "2026-08-26T10:28:45Z"
|
||||
mac: ENC[AES256_GCM,data:d0hxv6NuSR6JmTRPMOTKom3HPqUeb6B2oF+a5yj592m8WelVZ+Ary6nwDXeW4TRn5v8l+loHRM4JQjfsZ9PCBJJlP0HHQCh9RLHCa7p4BeW4fNm11w0g/At9HN7Y9BjJUTw95+xjNhFtaj8k0dGf5T+sKhhHF9DiSG2Gwb3E2l4=,iv:wQfKbOVUERnS+BSTap3Q1ZKqMAP6WGZJPGLDmLpiWVY=,tag:FjGaYs1lidQc5k3I1YPzHA==,type:str]
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
|
||||
@@ -14,6 +14,5 @@ resources:
|
||||
- fava.yaml
|
||||
- infcloud.yaml
|
||||
- syncthing.yaml
|
||||
- nfs-photo.yaml
|
||||
- photo-stats.yaml
|
||||
- immich.yaml
|
||||
@@ -1,17 +0,0 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: nfs-photo
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 10m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: flux-system
|
||||
path: ./clusters/base/apps/nfs-photo
|
||||
prune: true
|
||||
wait: true
|
||||
dependsOn:
|
||||
- name: namespaces
|
||||
- name: infra
|
||||
retryInterval: 5s
|
||||
@@ -14,7 +14,6 @@ spec:
|
||||
dependsOn:
|
||||
- name: namespaces
|
||||
- name: nfs-ganesha
|
||||
- name: nfs-photo
|
||||
retryInterval: 5s
|
||||
decryption:
|
||||
provider: sops
|
||||
|
||||
Reference in New Issue
Block a user