mzur / laravel-openstack-swift by mzur

OpenStack Swift storage driver for Laravel/Lumen.
46,722
7
2
Package Data
Maintainer Username: mzur
Maintainer Contact: martin@zurowietz.de (Martin Zurowietz)
Package Create Date: 2018-02-02
Package Last Update: 2023-11-21
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-05-01 15:04:11
Package Statistics
Total Downloads: 46,722
Monthly Downloads: 289
Daily Downloads: 3
Total Stars: 7
Total Watchers: 2
Total Forks: 10
Total Open Issues: 0

Laravel OpenStack Swift

OpenStack Swift storage driver for Laravel/Lumen.

Installation

Require the package with Composer:

composer require mzur/laravel-openstack-swift

Laravel

For Laravel 5.4 and lower, add the service provider to config/app.php:

Mzur\Filesystem\SwiftServiceProvider::class,

Lumen

Add the service provider to bootstrap/app.php:

$app->register(Mzur\Filesystem\SwiftServiceProvider::class);

Configuration

Add a new storage disk to config/filesystems.php (using v3 of the identity API):

'disks' => [
   'openstack' => [
      'driver'    => 'swift',
      'authUrl'   => env('OS_AUTH_URL', ''),
      'region'    => env('OS_REGION_NAME', ''),
      'user'      => env('OS_USERNAME', ''),
      'domain'    => env('OS_USER_DOMAIN_NAME', 'default'),
      'password'  => env('OS_PASSWORD', ''),
      'container' => env('OS_CONTAINER_NAME', ''),
   ],
]

Additional configuration options:

  • projectId (default: null) if you want to scope access to a specific project

  • debugLog (default: false), logger (default: null), messageFormatter (default: null) [ref]

  • requestOptions (default: []) [ref]

  • disableAsserts (default: false) [ref]

  • swiftLargeObjectThreshold [ref]

  • swiftSegmentSize [ref]

  • swiftSegmentContainer [ref]

  • prefix (default: null): Prefix to use for the names of the objects in the container.

  • url (default: null): Override URL to use for public URLs to objects. If this is not set, the public URL will point to the public URL of Swift. This configuration is useful if you use a reverse proxy to pass through requests to public Swift containers.