GCS - Google Cloud Storage Module for Drupal 11

This module allows Drupal to use Google Cloud Storage (GCS) instead of the local
filesystem for ALL file operations, including public://, private://, and 
temporary:// schemas.

REQUIREMENTS

- Drupal 11.x
- PHP 8.3 or higher
- Google Cloud Storage PHP Client Library (installed via Composer)
- A Google Cloud Platform account with:
  - A GCS bucket created
  - A service account with Storage Admin permissions
  - A JSON key file for the service account

INSTALLATION

1. Install the module using Composer:
   composer require drupal/gcs

2. Enable the module:
   drush en gcs -y
   or via the admin interface at /admin/modules

3. Configure the module at /admin/config/media/gcs:
   - Enable Google Cloud Storage
   - Enter your Google Cloud Project ID
   - Enter your bucket name
   - Provide authentication (either key file path or JSON contents)

CONFIGURATION

Navigate to Configuration > Media > GCS Configuration (/admin/config/media/gcs)

Required settings:
- Enable Google Cloud Storage: Check to activate GCS integration
- Google Cloud Project ID: Your GCP project ID
- Bucket Name: The name of your GCS bucket
- Authentication: Either provide a key file path or paste the JSON key contents

Optional settings:
- Custom Domain: Use a custom CDN domain for serving files
- Prefixes: Configure separate prefixes for public, private, and temporary files

IMPORTANT NOTES

- When enabled, ALL file operations will use GCS instead of the local filesystem
- Make sure your bucket exists and is accessible before enabling
- Public files will be stored with publicRead ACL
- Private files will be stored with private ACL
- The module uses stream wrappers, so all Drupal file operations work
  transparently

SUPPORT

For issues and feature requests, visit:
https://drupal.org/project/issues/gcs
