Merge pull request #1787 from hamuz/develop

allow sftp host as backing storage using env
This commit is contained in:
James Cole 2018-10-14 08:41:40 +02:00 committed by GitHub
commit 91ef21a665
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 702 additions and 7 deletions

View File

@ -58,6 +58,7 @@
"adldap2/adldap2-laravel": "^4.0",
"bacon/bacon-qr-code": "1.*",
"bunq/sdk_php": "dev-master#8c1faefc111d9b970168a1837ca165d854954941",
"danhunsaker/laravel-flysystem-others": "^1.3",
"davejamesmiller/laravel-breadcrumbs": "5.*",
"doctrine/dbal": "2.*",
"fideloper/proxy": "4.*",
@ -66,7 +67,10 @@
"laravelcollective/html": "5.7.*",
"league/commonmark": "0.*",
"league/csv": "9.*",
"league/flysystem-replicate-adapter": "^1.0",
"league/flysystem-sftp": "^1.0",
"league/fractal": "^0.17.0",
"litipk/flysystem-fallback-adapter": "^0.1.3",
"mschindler83/fints-hbci-php": "^1.0",
"pragmarx/google2fa": "3.*",
"pragmarx/google2fa-laravel": "0.*",

305
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f8b29d89e3421b9a03cbaf4c1ae3fba4",
"content-hash": "f28fdf6ec034460c012d2734231029b7",
"packages": [
{
"name": "adldap2/adldap2",
@ -219,7 +219,179 @@
"payment",
"sepa"
],
"time": "2018-10-05T13:50:22+00:00"
"time": "2018-09-01T12:54:04+00:00"
},
{
"name": "danhunsaker/laravel-flysystem-others",
"version": "v1.3.4",
"source": {
"type": "git",
"url": "https://github.com/danhunsaker/laravel-flysystem-others.git",
"reference": "43c5e3bf8cbb9bc22a2e228cb644882f0be52f29"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/danhunsaker/laravel-flysystem-others/zipball/43c5e3bf8cbb9bc22a2e228cb644882f0be52f29",
"reference": "43c5e3bf8cbb9bc22a2e228cb644882f0be52f29",
"shasum": ""
},
"require": {
"danhunsaker/laravel-flysystem-service": "^1.1",
"illuminate/filesystem": "^5.0",
"illuminate/support": "^5.0",
"league/flysystem": "^1.0"
},
"suggest": {
"aliyuncs/aliyun-oss-flysystem": "One of the options to use the 'oss' adapter (^1.2)",
"aobozhang/aliyun-oss-adapter": "One of the options to use the 'oss' adapter (^1.0)",
"apollopy/flysystem-aliyun-oss": "One of the options to use the 'oss' adapter (^1.2)",
"argentcrusade/flysystem-selectel": "Required to use the 'selectel' adapter (^1.2)",
"arhitector/yandex-disk-flysystem": "Required to use the 'yandex' adapter (^1.0)",
"boofw/flysystem-qiniu": "One of the options to use the 'qiniu' adapter (^1.0)",
"carlosocarvalho/flysystem-cloudinary": "One of the options to use the 'cloudinary' adapter (^1.0)",
"cedricziel/flysystem-gcs": "One of the options to use the 'google' adapter (^2.0)",
"danhunsaker/flysystem-redis": "Required to use the 'redis' adapter (^1.0)",
"emgag/flysystem-tempdir": "Required to use the 'temp' adapter (^0.1)",
"engineor/flysystem-runabove": "Required to use the 'runabove' adapter (^1.0)",
"enl/flysystem-cloudinary": "One of the options to use the 'cloudinary' adapter (^1.1)",
"eqingdan/flysystem-qiniu": "One of the options to use the 'qiniu' adapter (^0.1)",
"freyo/flysystem-qcloud-cos-v3": "One of the options to use the 'qcloud' adapter (^)",
"freyo/flysystem-qcloud-cos-v4": "One of the options to use the 'qcloud' adapter (^)",
"freyo/flysystem-qcloud-cos-v5": "One of the options to use the 'qcloud' adapter (^)",
"ignited/flysystem-google-drive": "One of the options to use the 'gdrive' adapter (dev-master)",
"ignited/flysystem-onedrive": "One of the options to use the 'onedrive' adapter (dev-master)",
"integral/flysystem-pdo-adapter": "One of the options to use the 'pdo' adapter (^1.0)",
"jacekbarecki/flysystem-onedrive": "One of the options to use the 'onedrive' adapter (^1.0)",
"jellybool/flysystem-upyun": "Required to use the 'upyun' adapter (^1.0)",
"kapersoft/flysystem-sharefile": "Required to use the 'sharefile' adapter (^1.1)",
"litipk/flysystem-fallback-adapter": "Required to use the 'fallback' adapter, and with league/flysystem-replicate-adapter, the 'mirror' adapter (^0.1)",
"mgriego/flysystem-clamav": "Scans files for viruses before storing them on an actual filesystem (^1.0)",
"mhetreramesh/flysystem-backblaze": "Required to use the 'backblaze' adapter (^1.1)",
"monster/flysystem-aliyun-oss": "One of the options to use the 'oss' adapter, but not recommended, since it uses the League namespace without being a Leage package (^1.0)",
"nao-pon/flysystem-google-drive": "One of the options to use the 'gdrive' adapter (^1.1)",
"nicolasbeauvais/flysystem-onedrive": "One of the options to use the 'onedrive' adapter (^1.0)",
"nimbusoft/flysystem-openstack-swift": "Required to use the 'openstack' adapter (^0.2)",
"orzcc/aliyun-oss": "One of the options to use the 'oss' adapter (dev-master)",
"overtrue/flysystem-qiniu": "One of the options to use the 'qiniu' adapter (^1.0)",
"phlib/flysystem-pdo": "One of the options to use the 'pdo' adapter (^1.1)",
"potherca/flysystem-github": "Required to use the 'github' adapter (^0.2)",
"private-it/flysystem-google-drive": "One of the options to use the 'gdrive' adapter (dev-master)",
"robgridley/flysystem-smb": "Required to use the 'smb' adapter (dev-master)",
"rokde/flysystem-local-database-adapter": "Required to use the 'eloquent' adapter (^0.0)",
"shion/aliyun-oss": "One of the options to use the 'oss' adapter (dev-master)",
"spatie/flysystem-dropbox": "Required to use the 'dropbox' adapter in PHP 7 (^1.0)",
"srmklive/flysystem-dropbox-v2": "Required to use the 'dropbox' adapter in PHP 5 (^1.0)",
"superbalist/flysystem-google-storage": "One of the options to use the 'google' adapter (^7.0)",
"t3chnik/flysystem-cloudinary-adapter": "One of the options to use the 'cloudinary' adapter (dev-master)",
"twistor/flysystem-guzzle": "One of the options to use the (read-only) 'http' adapter (^6.0)",
"twistor/flysystem-http": "One of the options to use the (read-only) 'http' adapter (^0.2)",
"twistor/flysystem-stream-wrapper": "Allows access to Flysystem drives using 'drive://path' streams (^1.0)",
"xxtime/flysystem-aliyun-oss": "One of the options to use the 'oss' adapter (^1.2)",
"zhuxiaoqiao/flysystem-baidu-bos": "Required to use the 'bos' adapter (^1.0)"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
},
"laravel": {
"providers": [
"Danhunsaker\\Laravel\\Flysystem\\FlysystemOtherServiceProvider"
],
"dont-discover": [
"danhunsaker/laravel-flysystem-service"
]
}
},
"autoload": {
"psr-4": {
"Danhunsaker\\Laravel\\Flysystem\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Daniel Hunsaker",
"email": "danhunsaker@gmail.com"
}
],
"description": "Automatically registers every third-party Flysystem adapter it recognizes as a Laravel Filesystem Driver.",
"keywords": [
"Flysystem",
"laravel"
],
"time": "2018-08-16T11:20:15+00:00"
},
{
"name": "danhunsaker/laravel-flysystem-service",
"version": "v1.2.2",
"source": {
"type": "git",
"url": "https://github.com/danhunsaker/laravel-flysystem-service.git",
"reference": "0d077a0ddadc08e80fa2f152da2ee7aaaea37735"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/danhunsaker/laravel-flysystem-service/zipball/0d077a0ddadc08e80fa2f152da2ee7aaaea37735",
"reference": "0d077a0ddadc08e80fa2f152da2ee7aaaea37735",
"shasum": ""
},
"require": {
"illuminate/filesystem": "^5.0",
"illuminate/support": "^5.0",
"league/flysystem": "^1.0"
},
"suggest": {
"league/flysystem-aws-s3-v3": "Required to use the 's3' adapter (^1.0)",
"league/flysystem-azure-blob-storage": "Required to use the 'azure' adapter (^1.0)",
"league/flysystem-cached-adapter": "Required to use metadata caching (^1.0)",
"league/flysystem-eventable-filesystem": "Required to hook into filesystem Events (^1.0)",
"league/flysystem-gridfs": "Required to use the 'gridfs' adapter (^1.0)",
"league/flysystem-memory": "Required to use the 'memory' adapter (^1.0)",
"league/flysystem-phpcr": "Required to use the 'phpcr' adapter (^1.0)",
"league/flysystem-rackspace": "Required to use the 'rackspace' adapter (^1.0)",
"league/flysystem-replicate-adapter": "Required to use the 'replicate' adapter (^1.0)",
"league/flysystem-sftp": "Required to use the 'sftp' adapter (^1.0)",
"league/flysystem-vfs": "Required to use the 'vfs' adapter (^1.0)",
"league/flysystem-webdav": "Required to use the 'webdav' adapter (^1.0)",
"league/flysystem-ziparchive": "Required to use the 'zip' adapter (^1.0)",
"madewithlove/illuminate-psr-cache-bridge": "Required to use Laravel's cache implementation for Flysystem caching (^1.0)"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
},
"laravel": {
"providers": [
"Danhunsaker\\Laravel\\Flysystem\\FlysystemServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Danhunsaker\\Laravel\\Flysystem\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Daniel Hunsaker",
"email": "danhunsaker@gmail.com"
}
],
"description": "Automatically registers every Flysystem adapter it recognizes as a Laravel Filesystem Driver.",
"keywords": [
"Flysystem",
"laravel"
],
"time": "2018-08-13T22:27:45+00:00"
},
{
"name": "davejamesmiller/laravel-breadcrumbs",
@ -1732,6 +1904,94 @@
],
"time": "2018-09-14T15:30:29+00:00"
},
{
"name": "league/flysystem-replicate-adapter",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-replicate-adapter.git",
"reference": "864e80409c0918b0ed6921c3941247017d9db77c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-replicate-adapter/zipball/864e80409c0918b0ed6921c3941247017d9db77c",
"reference": "864e80409c0918b0ed6921c3941247017d9db77c",
"shasum": ""
},
"require": {
"league/flysystem": "~1.0",
"php": ">=5.4.0"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"League\\Flysystem\\Replicate\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "info@frenky.net"
}
],
"description": "Flysystem adapter for Replica's",
"time": "2015-08-18T21:07:17+00:00"
},
{
"name": "league/flysystem-sftp",
"version": "1.0.16",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-sftp.git",
"reference": "322839636847e0dba0f714e9ad0db813d65efcf2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-sftp/zipball/322839636847e0dba0f714e9ad0db813d65efcf2",
"reference": "322839636847e0dba0f714e9ad0db813d65efcf2",
"shasum": ""
},
"require": {
"league/flysystem": "~1.0",
"php": ">=5.6.0",
"phpseclib/phpseclib": "~2.0"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "^5.7.25"
},
"type": "library",
"autoload": {
"psr-4": {
"League\\Flysystem\\Sftp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "info@frenky.net"
}
],
"description": "Flysystem adapter for SFTP",
"time": "2018-07-08T21:01:51+00:00"
},
{
"name": "league/fractal",
"version": "0.17.0",
@ -1866,6 +2126,47 @@
],
"time": "2018-06-23T16:57:59+00:00"
},
{
"name": "litipk/flysystem-fallback-adapter",
"version": "0.1.3",
"source": {
"type": "git",
"url": "https://github.com/Litipk/flysystem-fallback-adapter.git",
"reference": "1fdeb9352990deb8cba2a2c57cc94e2ff7e1381b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Litipk/flysystem-fallback-adapter/zipball/1fdeb9352990deb8cba2a2c57cc94e2ff7e1381b",
"reference": "1fdeb9352990deb8cba2a2c57cc94e2ff7e1381b",
"shasum": ""
},
"require": {
"league/flysystem": "~1.0",
"php": ">=5.4.0"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Litipk\\Flysystem\\Fallback\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrés Correa Casablanca",
"email": "castarco@litipk.com"
}
],
"description": "Flysystem adapter for fallback filesystems",
"time": "2016-06-23T00:18:01+00:00"
},
{
"name": "monolog/monolog",
"version": "1.23.0",

View File

@ -21,6 +21,21 @@
declare(strict_types=1);
$upload_disk = [
'driver' => 'mirror',
'disks' => ['local-upload'],
];
$export_disk = [
'driver' => 'mirror',
'disks' => ['local-upload'],
];
if ('' !== env('SFTP_HOST','') && '' !== env('SFTP_FIREFLY_ROOT','')) {
$upload_disk['disks'][] = "sftp-upload";
$export_disk['disks'][] = "sftp-export";
}
return [
@ -59,7 +74,11 @@ return [
| may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options.
|
| Supported Drivers: "local", "ftp", "s3", "rackspace"
| Supported: "local", "ftp", "s3", "rackspace", "null", "azure", "copy",
| "dropbox", "gridfs", "memory", "phpcr", "replicate", "sftp",
| "vfs", "webdav", "zip", "bos", "cloudinary", "eloquent",
| "fallback", "github", "gdrive", "google", "mirror", "onedrive",
| "oss", "qiniu", "redis", "runabove", "sae", "smb", "temp"
|
*/
@ -69,15 +88,16 @@ return [
'driver' => 'local',
'root' => storage_path('app'),
],
'upload' => [
'local-upload' => [
'driver' => 'local',
'root' => storage_path('upload'),
],
'export' => [
'local-export' => [
'driver' => 'local',
'root' => storage_path('export'),
],
'database' => [
'driver' => 'local',
'root' => storage_path('database'),
@ -105,7 +125,377 @@ return [
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
'sftp-upload' => [
'driver' => 'sftp',
'host' => env('SFTP_HOST'),
'port' => env('SFTP_PORT', 22),
'username' => env('SFTP_USERNAME'),
'password' => env('SFTP_PASSWORD'),
'root' => env('SFTP_FIREFLY_ROOT') . '/upload',
// Optional SFTP Settings
// 'privateKey' => 'path/to/or/contents/of/privatekey',
// 'port' => 22,
// 'timeout' => 30,
// 'directoryPerm' => 0755,
// 'permPublic' => 0644,
// 'permPrivate' => 0600,
],
'upload' => $upload_disk,
'sftp-export' => [
'driver' => 'sftp',
'host' => env('SFTP_HOST'),
'port' => env('SFTP_PORT', 22),
'username' => env('SFTP_USERNAME'),
'password' => env('SFTP_PASSWORD'),
'root' => env('SFTP_FIREFLY_ROOT') . '/export',
// Optional SFTP Settings
// 'privateKey' => 'path/to/or/contents/of/privatekey',
// 'timeout' => 30,
// 'directoryPerm' => 0755,
// 'permPublic' => 0644,
// 'permPrivate' => 0600,
],
'export' => $upload_export,
/*
'sftp' => [
'driver' => 'sftp',
'host' => 'sftp.example.com',
'username' => 'username',
'password' => 'password',
// Optional SFTP Settings
// 'privateKey' => 'path/to/or/contents/of/privatekey',
// 'port' => 22,
// 'root' => '/path/to/root',
// 'timeout' => 30,
// 'directoryPerm' => 0755,
// 'permPublic' => 0644,
// 'permPrivate' => 0600,
],
'rackspace' => [
'driver' => 'rackspace',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'username' => 'your-username',
'key' => 'your-key',
'region' => 'IAD',
'url_type' => 'publicURL',
'container' => 'your-container',
],
'null' => [
'driver' => 'null',
],
'azure' => [
'driver' => 'azure',
'accountName' => 'your-account-name',
'apiKey' => 'your-api-key',
'container' => 'your-container',
],
'gridfs' => [
'driver' => 'gridfs',
'server' => 'your-server',
'context' => 'your-context',
'dbName' => 'your-db-name',
// You can also provide other MongoDB connection options here
],
'memory' => [
'driver' => 'memory',
],
'phpcr-jackrabbit' => [
'driver' => 'phpcr',
'jackrabbit_url' => 'your-jackrabbit-url',
'workspace' => 'your-workspace',
'root' => 'your-root',
// Optional PHPCR Settings
// 'userId' => 'your-user-id',
// 'password' => 'your-password',
],
'phpcr-dbal' => [
'driver' => 'phpcr',
'database' => 'mysql',
'workspace' => 'your-workspace',
'root' => 'your-root',
// Optional PHPCR Settings
// 'userId' => 'your-user-id',
// 'password' => 'your-password',
],
'phpcr-prismic' => [
'driver' => 'phpcr',
'prismic_uri' => 'your-prismic-uri',
'workspace' => 'your-workspace',
'root' => 'your-root',
// Optional PHPCR Settings
// 'userId' => 'your-user-id',
// 'password' => 'your-password',
],
'replicate' => [
'driver' => 'replicate',
'master' => 'local',
'replica' => 's3',
],
'vfs' => [
'driver' => 'vfs',
],
'webdav' => [
'driver' => 'webdav',
'baseUri' => 'http://example.org/dav/',
// Optional WebDAV Settings
// 'userName' => 'user',
// 'password' => 'password',
// 'proxy' => 'locahost:8888',
// 'authType' => 'digest', // alternately 'ntlm' or 'basic'
// 'encoding' => 'all', // same as ['deflate', 'gzip', 'identity']
],
'zip' => [
'driver' => 'zip',
'path' => 'path/to/file.zip',
// Alternate value if twistor/flysystem-stream-wrapper is available
// 'path' => 'local://path/to/file.zip',
],
'backblaze' => [
'driver' => 'backblaze',
'account_id' => 'your-account-id',
'application_key' => 'your-app-key',
'bucket' => 'your-bucket',
],
'bos' => [
'driver' => 'bos',
'credentials' => [
'ak' => 'your-access-key-id',
'sk' => 'your-secret-access-key',
],
'bucket' => 'your-bucket',
// Optional BOS Settings
// 'endpoint' => 'http://bj.bcebos.com',
],
'clamav' => [
'driver' => 'clamav',
'server' => 'tcp://127.0.0.1:3310',
'drive' => 'local',
// Optional ClamAV Settings
// 'copy_scan' => false,
],
'cloudinary' => [
'driver' => 'cloudinary',
'api_key' => env('CLOUDINARY_API_KEY'),
'api_secret' => env('CLOUDINARY_API_SECRET'),
'cloud_name' => env('CLOUDINARY_CLOUD_NAME'),
],
'dropbox' => [
'driver' => 'dropbox',
'authToken' => 'your-auth-token',
],
'eloquent' => [
'driver' => 'eloquent',
// Optional Eloquent Settings
// 'model' => '\Rokde\Flysystem\Adapter\Model\FileModel',
],
'fallback' => [
'driver' => 'fallback',
'main' => 'local',
'fallback' => 's3',
],
'gdrive' => [
'driver' => 'gdrive',
'client_id' => 'your-client-id',
'secret' => 'your-secret',
'token' => 'your-token',
// Optional GDrive Settings
// 'root' => 'your-root-directory',
// 'paths_sheet' => 'your-paths-sheet',
// 'paths_cache_drive' => 'local',
],
'github' => [
'driver' => 'github',
'project' => 'yourname/project',
'token' => 'your-github-token',
],
'google' => [
'driver' => 'google',
'project_id' => 'your-project-id',
'bucket' => 'your-bucket',
// Optional Google Cloud Storage Settings
// 'prefix' => 'prefix/path/for/drive',
// 'url' => 'http://your.custom.cname/',
// 'key_file' => 'path/to/file.json',
//
// Alternate value if twistor/flysystem-stream-wrapper is available
// 'key_file' => 'local://path/to/file.json',
],
'http' => [
'driver' => 'http',
'root' => 'http://example.com',
// Optional HTTP Settings
// 'use_head' => true,
// 'context' => [],
],
'onedrive' => [
'driver' => 'onedrive',
'access_token' => 'your-access-token',
// Options only needed for ignited/flysystem-onedrive
// 'base_url' => 'https://api.onedrive.com/v1.0/',
// 'use_logger' => false,
// Option only used by nicolasbeauvais/flysystem-onedrive
// 'root' => 'root',
],
'openstack' => [
'driver' => 'openstack',
'auth_url' => 'your-auth-url',
'region' => 'your-region',
'user_id' => 'your-user-id',
'password' => 'your-password',
'project_id' => 'your-project-id',
'container' => 'your-container',
],
'oss' => [
'driver' => 'oss',
'access_id' => env('OSS_ACCESS_KEY_ID'),
'access_key' => env('OSS_ACCESS_KEY_SECRET'),
'endpoint' => env('OSS_ENDPOINT'),
'bucket' => env('OSS_BUCKET'),
// Optional OSS Settings
// 'prefix' => '',
// 'region' => '', // One of 'hangzhou', 'qingdao', 'beijing', 'hongkong',
// // 'shenzhen', 'shanghai', 'west-1' and 'southeast-1'
],
'pdo' => [
'driver' => 'pdo',
'database' => 'default',
],
'qcloud' => [
'driver' => 'qcloud',
'app_id' => 'your-app-id',
'secret_id' => 'your-secret-id',
'secret_key' => 'your-secret-key',
'bucket' => 'your-bucket-name',
'protocol' => 'https',
// Optional Tencent/Qcloud COS Settings
// 'domain' => 'your-domain',
// 'timeout' => 60,
// 'region' => 'gz',
],
'qiniu' => [
'driver' => 'qiniu',
'accessKey' => 'your-access-key',
'secretKey' => 'your-secret-key',
'bucket' => 'your-bucket',
'domain' => 'xxxx.qiniudn.com',
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'runabove' => [
'driver' => 'runabove',
'username' => 'your-username',
'password' => 'your-password',
'tenantId' => 'your-tenantId',
// Optional Runabove Settings
// 'container' => 'container',
// 'region' => 'SBG1', // One of 'SBG1', 'BHS1', and 'GRA1'
],
'selectel' => [
'driver' => 'selectel',
'username' => 'your-username',
'password' => 'your-password',
'container' => 'your-container',
// Optional Selectel Settings
// 'domain' => '',
],
'sharefile' => [
'driver' => 'sharefile',
'hostname' => 'sharefile.example.com',
'client_id' => 'your-client-id',
'secret' => 'your-secret',
'username' => 'your-username',
'password' => 'your-password',
],
'smb' => [
'driver' => 'smb',
'host' => 'smb.example.com',
'username' => 'your-username',
'password' => 'your-password',
'path' => 'path/to/shared/directory/for/root',
],
'temp' => [
'driver' => 'temp',
// Optional TempDir Settings
// 'prefix' => '',
// 'tempdir' => '/tmp',
],
'upyun' => [
'driver' => 'upyun',
'bucket' => 'your-bucket',
'operator' => 'operator-name',
'password' => 'operator-password',
'protocol' => 'https',
'domain' => 'example.b0.upaiyun.com',
],
'yandex' => [
'driver' => 'yandex',
'access_token' => 'your-access-token',
// Optional Yandex Settings
// 'prefix' => 'app:/',
],
*/
],
/*
|--------------------------------------------------------------------------
| Automatically Register Stream Wrappers
|--------------------------------------------------------------------------
|
| This is a list of the filesystem "disks" to automatically register the
| stream wrappers for on application start. Any "disk" you don't want to
| register on every application load will have to be manually referenced
| before attempting stream access, as the stream wrapper is otherwise only
| registered when used.
|
*/
/*
// Disabled, pending "twistor/flysystem-stream-wrapper" dependency
'autowrap' => [
'local',
],
*/
];