feat(infrastructure): initialize TrueNAS Scale infrastructure collection system

Initial repository setup for TrueNAS Scale configuration management and
disaster recovery. This system provides automated collection, versioning,
and documentation of TrueNAS configuration state.

Key components:
- Configuration collection scripts with API integration
- Disaster recovery exports (configs, storage, system state)
- Comprehensive documentation and API reference
- Sub-agent architecture for specialized operations

Infrastructure protected:
- Storage pools and datasets configuration
- Network configuration and routing
- Sharing services (NFS, SMB, iSCSI)
- System tasks (snapshots, replication, cloud sync)
- User and group management

Security measures:
- API keys managed via environment variables
- Sensitive data excluded via .gitignore
- No credentials committed to repository

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-16 08:03:33 -07:00
commit 52e1822de8
37 changed files with 40881 additions and 0 deletions

216
.gitignore vendored Normal file
View File

@@ -0,0 +1,216 @@
# =============================================================================
# TrueNAS Infrastructure Repository - Git Ignore Configuration
# =============================================================================
# This file prevents sensitive data, temporary files, and large binaries
# from being committed to version control.
#
# Last Updated: 2025-12-16
# =============================================================================
# -----------------------------------------------------------------------------
# Sensitive Data - NEVER COMMIT THESE
# -----------------------------------------------------------------------------
# Environment files containing API keys and credentials
.env
.env.*
*.env
# TrueNAS API keys and tokens
*api_key*
*token*
*credentials*
*secret*
# SSH keys and certificates
*.pem
*.key
*.crt
*.p12
*.pfx
id_rsa*
id_ed25519*
# Vault password files
vault_pass.txt
.vault_password
*.vault
# -----------------------------------------------------------------------------
# Archives and Compressed Files
# -----------------------------------------------------------------------------
# Compressed archives (these should be regenerated, not versioned)
*.tar.gz
*.tgz
*.tar.bz2
*.tbz2
*.tar.xz
*.zip
*.7z
*.rar
*.gz
*.bz2
*.xz
# Historical archive directory
archive-truenas/
# -----------------------------------------------------------------------------
# Logs and Temporary Files
# -----------------------------------------------------------------------------
# Log files
*.log
logs/
*.log.*
# Collection logs
collection.log
export.log
backup.log
# Temporary files
*.tmp
*.temp
*.swp
*.swo
*~
.*.swp
.*.swo
# Backup files
*.bak
*.backup
*.old
*~
# -----------------------------------------------------------------------------
# System and Editor Files
# -----------------------------------------------------------------------------
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/
# Linux
*~
.directory
.Trash-*
# Editor directories and files
.vscode/
.idea/
*.sublime-project
*.sublime-workspace
.vim/
.netrwhist
# -----------------------------------------------------------------------------
# Python
# -----------------------------------------------------------------------------
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
*.so
# Virtual environments
venv/
env/
ENV/
.venv
.python-version
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
*.egg-info/
.installed.cfg
*.egg
# -----------------------------------------------------------------------------
# Ansible
# -----------------------------------------------------------------------------
# Ansible retry files
*.retry
# Ansible vault password files
.vault_pass
vault_password
# -----------------------------------------------------------------------------
# Terraform / OpenTofu
# -----------------------------------------------------------------------------
# State files
*.tfstate
*.tfstate.*
*.tfstate.backup
# Terraform directories
.terraform/
.terraform.lock.hcl
# Variable files with sensitive data
terraform.tfvars
*.auto.tfvars
# -----------------------------------------------------------------------------
# Docker
# -----------------------------------------------------------------------------
# Docker Compose override files (may contain local configs)
docker-compose.override.yml
# -----------------------------------------------------------------------------
# Project Specific
# -----------------------------------------------------------------------------
# Large binary exports that should be regenerated
disaster-recovery/*.tar.gz
disaster-recovery/**/collection.log
# Test output
test-output/
test-results/
# Scratch/working directories
scratch/
tmp/
temp/
# Local configuration overrides
local.conf
*.local
# -----------------------------------------------------------------------------
# Keep Structure
# -----------------------------------------------------------------------------
# Keep empty directories by ensuring we don't ignore all files
!.gitkeep