Skip to content

Data Organization Standard (Fleet Standard v3.0)

🌌 Overview

This document defines the mandatory directory structure for the Federation Fleet. UPDATE 2026-01-29: Shifted to "Atomic Monolith" Storage Model (/mnt/vault) to enable hardlinks and instant moves across services.

🏗️ The Tiered Namespace Structure

1. Local Storage (/opt/docker_data) - The Brain

All active configurations and databases must reside on the compute node's local storage to ensure high performance and prevent SQLite corruption over NFS.

Directory Purpose Retention Policy
/opt/docker_data/[app]/config Runtime configurations (YAML, JSON). Replaced on Deploy
/opt/docker_data/[app]/db Active Databases (Redis, Postgres). High Priority Local Backup
/opt/docker_data/[app]/data Fast-access application data. High Priority Local Backup

2. Network Storage (/mnt/vault) - The Unified Vault

The NAS exports a single root (/mnt/vault) to all clients. This allows hardlinks between downloads and media libraries.

Directory Purpose Retention Policy
/downloads/ High Churn. Torrents, incomplete files. Excluded from Daily Snapshots
/media/ Library. Movies, TV, Music, Books, ROMs. Daily ZFS Snapshots
/backups/ Archives. Destination for local config backups. 30-Day Rotation
/app_data/ Shared State. Heavy blobs not suitable for local SSD. Daily ZFS Snapshots

🛡️ Infrastructure as Code (IaC) Mandate

  1. Source of Truth: Local Git repository at ~/projects/federation-fleet (or ~/projects/AI).
  2. Deployment: The deploy.sh script syncs from Git -> /opt/docker_data.
  3. Backups: A backup_configs.sh script syncs /opt/docker_data -> /mnt/vault/backups.

🛠️ Implementation Rules

1. Client Mount Points

All Nodes (VMs/LXCs) must mount the storage at the exact same path to allow uniform Docker configs. * Source: 192.168.1.100:/mnt/TheWarpCore/vault * Destination: /mnt/vault

2. Docker Volume Mapping (Standard)

volumes:
  # Local Configs (Fast)
  - /opt/docker_data/radarr/config:/config

  # Unified Storage (Hardlink Compatible)
  - /mnt/vault:/data

Application Path Config: * Download Client: /data/downloads/torrents/[category] * Media Manager: /data/media/[category]

✅ Compliance Check

Before any new software is installed or migrated, the node commander (AI Agent) must: 1. Ensure local directories exist in /opt/docker_data. 2. Ensure /mnt/vault is mounted on the host. 3. Verify the application is configured to use atomic moves (Hardlinks) if applicable.