[2026-09-22] eagle: family/how-to/vault-git-sync.md personal/tech/truenas-nfs4-acl-and-arrmultiuser.md
This commit is contained in:
1 parent
afbf895e2e
commit
e2485c1a71
2 files changed
+25
-2
No files matched your search
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Vault Git Sync — Architecture & Scripts
|
||||
updated: '2026-09-21'
|
||||
updated: '2026-09-22'
|
||||
type: tech
|
||||
tags:
|
||||
- vault
|
||||
@@ -12,6 +12,20 @@ tags:
|
||||
|
||||
# Vault Git Sync
|
||||
|
||||
> **✅ STATE 2026-09-22 — рецидив ACL закрыт перманентно.** Дефект вернулся (35 root-каталогов),
|
||||
> push с Mac падал. Починено: **236/236 каталогов `INHERIT` + `WRITE`** через
|
||||
> `midclt filesystem.setacl` (read-modify-write + ожидание job). **Наследование подтверждено
|
||||
> ФАКТОМ** — `mkdir objects/zzz` → новый ACL унаследован (`INHERITED:True`), `touch` внутрь OK.
|
||||
> End-to-end push: `ba3780c..8b831a8 main -> main` ✅. Поставлен **cron-сторож** (каждые 2 ч):
|
||||
> `~/scripts/vault-acl-watchdog.py` на TrueNAS — SILENT когда всё ок, чинит + докладывает когда
|
||||
> сломано. Скрипты: `/Users/admin/Developer/vault-tools/`.
|
||||
> 🔴 **Корень НЕ устранён:** контейнер `hermes-taiga` работает от root
|
||||
> (`HERMES_ALLOW_ROOT_GATEWAY=1`, `User:` пусто) → `mcpvault /vault` пишет root-owned объекты.
|
||||
> Перманентный фикс — `user: "950:950"` в `taiga` service
|
||||
> `/mnt/RED_2TB/docker/hermes/docker-compose.yml` (риск: образ может требовать root для `/opt/data`).
|
||||
> Сторож пока закрывает последствия. Подробно:
|
||||
> `family/documents/vault-sync/2026-09-21-bare-repo-push-permission-denied.md`.
|
||||
>
|
||||
> **STATE 2026-09-21 — bare repo push починен (наследуемый ACL).** `git push nas` падал `Permission denied` на `objects/XX`: 28 каталогов были root-owned (создавал `mcpvault` **второго Hermes на TrueNAS, от root**), 13 каталогов без owner-`x`. Фикс: **полный dacl-REPLACE с `FILE_INHERIT`+`DIRECTORY_INHERIT`** через `midclt filesystem.setacl` — 291 каталог, 0 ошибок, без root-пароля. Push прошёл дважды, Mac=`nas`=`3b923d3`. ⚠️ Прямой write-тест `touch` в `objects/` **не выполнялся** → наследование подтвердит только следующий push root-инстанса. Подробно: `family/documents/vault-sync/2026-09-21-bare-repo-push-permission-denied.md`.
|
||||
>
|
||||
> **STATE 2026-09-02 (позднее обновление):** Eagle/bare repo снова **синхронны** (ahead=0/behind=0, `2fab879`). Ранее (см. ниже) git-sync стоял из-за битых прав `storage/git` — **починено** полной dacl-заменой (`family/documents/vault-sync/2026-09-02-restore-privilege-scope.md` §RESOLVED).
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: TrueNAS NFS4 ACL repair + cross-container media PUID
|
||||
created: 2026-09-02
|
||||
updated: 2026-09-21
|
||||
updated: 2026-09-22
|
||||
type: tech
|
||||
namespace: personal
|
||||
tags: [truenas, nfs4, acl, midclt, arr, radarr, sonarr, jellyfin, transmission, docker, git]
|
||||
@@ -17,6 +17,15 @@ related:
|
||||
> Hard-won lessons from the 2026-08-31/09-01/09-02 TrueNAS restore-incident remediation. Mirror of skill `truenas-nfs4-acl-and-arrmultiuser`. Detailed incident log: `family/documents/vault-sync/2026-09-02-restore-privilege-scope.md`.
|
||||
>
|
||||
> **2026-09-21 addendum:** the same class of failure hit the **vault bare-git repo** (`/mnt/RED_2TB/storage/git/obsidian-vault.git`) — `git push` failed with `unable to write file ./objects/XX/…: Permission denied`. Root cause and the working midclt recipe are in the section «Bare git repo: push Permission denied» below.
|
||||
>
|
||||
> **2026-09-22 addendum (РЕЦИДИВ, закрыт):** дефект вернулся (35 root-каталогов). Починено:
|
||||
> **236/236 каталогов `INHERIT` + `WRITE`**, push прошёл end-to-end, поставлен cron-сторож.
|
||||
> 🔴 Ключевые уроки: `dacl` **с нуля собрать НЕЛЬЗЯ** (TrueNAS требует `id` в каждой ACE —
|
||||
> только read-modify-write); флаги = `{"BASIC":"INHERIT"}`, НЕ булев dict; **`setacl` асинхронный —
|
||||
> обязательно ждать job до `SUCCESS`**, иначе ложный провал. Рецепт и 4 питфолла — в секции
|
||||
> «Durable fix with INHERITANCE» ниже. Инструменты: `/Users/admin/Developer/vault-tools/`.
|
||||
> Хронология расследования: `family/documents/vault-sync/2026-09-21-bare-repo-push-permission-denied.md`.
|
||||
|
||||
|
||||
## Trigger
|
||||
Any "permission denied" / file not readable / git `loose object ... corrupt` / empty Jellyfin library on **TrueNAS SCALE** (acltype=nfsv4) after a zfs restore, OR wiring Prowlarr/Radarr/Sonarr/Jellyfin/Transmission so container-written files are readable by other containers.
|
||||
|
||||
Reference in new issue
Block a user