# ============================================================================= # 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/ *:Zone.Identifier # 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