# Never commit filled secrets — only *.env.template files are tracked.
*.env
!*.env.template

# Docker TLS material — CA/server/client certs and keys, generated by
# infra/scripts/docker-tls/generate-ca.sh and friends. Templates/READMEs stay tracked.
docker/tls/*.pem
docker/tls/*.key
docker/tls/*.crt
docker/tls/*.srl
!docker/tls/**/README.md

# Ansible Vault password files and any decrypted vars
ansible/.vault_pass
ansible/**/vault_plain.yml

# Terraform/OpenTofu state and generated vars (may contain resource IDs/IPs)
# Phase 4.1: these patterns were previously written repo-root-relative (e.g.
# "infra/terraform/...") inside THIS file, which git resolves relative to the .gitignore's own
# directory (infra/) — so they silently matched nothing at all. Found via `git status` showing
# a real .terraform/ provider cache as untracked when it should have been ignored. Fixed by
# dropping the redundant leading "infra/" from every pattern below.
terraform/**/*.tfstate
terraform/**/*.tfstate.*
terraform/**/.terraform/
terraform/**/terraform.tfvars
!terraform/**/terraform.tfvars.example

# Backup output and restore scratch space
backup/output/
backup/restore-test/

# Load test results (local artifacts, not source)
scripts/loadtest/results/
