Skip to the content.

Architecture Decision Record (ADR)

ADR-0035: NFS export per organization dataset path Ultra-light Architecture Decision Record (ADR)

1. Status:

Accepted

2. Context

Some workloads need shared access to organization data over the network, including multi-node scenarios. The export model must be compatible with the ZFS-backed gintra layout and with NFS requirements that operate on real filesystem paths rather than dataset identifiers.

3. Decision

Export each organization using its real filesystem path /mnt/gintra/organizations/<cc>/<org> in /etc/exports. Do not export ZFS dataset names such as tank/organizations/<cc>/<org>, and do not create a separate NFS export for operations/packages because it is covered by the organization export.

4. Rationale (Justification):

This keeps the NFS boundary aligned with the per-organization data unit and matches how clients mount shared storage. It also avoids invalid export definitions based on ZFS dataset names and keeps package-cache access inside the same exported organization root. It also matches the operational rule that package consumers may use read-only client mounts even when the server export stays writable for controlled download steps.

3. Consequences, Impacts & Follow-up Actions

NFS configuration and validation must use the real mount path under /mnt/gintra. Changes to /etc/exports must be reloaded and verified, and client integrations should mount the organization export while using read-only mounts where workloads only consume cached content. operations/packages stays inside the same exported organization path, so no second export should be added for it.


https://adr.github.io/