# Filesystem Decision Tree ## Filesystem Driver ### S3 BUCKET IN PRODUCTION - How to use: - Use s3-swap driver and use minio for local development - Use Storage fake for tests - when to use: - backups - uploaded files or documents storage (images, pdfs) - generated files or documents storage ### MINIO IN PRODUCTION - How to use: - Use s3 driver and use minio for local development - Use Storage fake for tests - When to use: - Other internal, non-PHP processes need to be able to write to location - Convenient to access with Windows file explorer UI - Files will only be used internally ### LOCAL IN PRODUCTION - How to use: - use local driver - Use Storage fake for tests. - When to use: - Files are present that we want in version control - Files that will change infrequently enough to justify being part of the repo - NON user uploaded files - Think "fixtures" ## Filesystem Access Keys Each application should have a single set of credentials per driver. The only exception to this would be if you were using multiple minio drives.