| 
<?php /**
 * Luminova Framework
 *
 * @package Luminova
 * @author Ujah Chigozie Peter
 * @copyright (c) Nanoblock Technology Ltd
 * @license See LICENSE file
 */
 
 /**
 * Tips:
 *
 * The key `base` is like a document root for your remote or local files.
 * @see https://luminova.ng/docs/0.0.0/configs/storage
 * @see https://luminova.ng/docs/0.0.0/files/storages
 *
 * @return array<string,mixed> Storage adapter configurations.
 */
 return [
 /**
 * Default configuration
 */
 'default' => [
 'visibility' => 'public',
 'directory_visibility' => 'public'
 ],
 
 /**
 * Local Filesystem storage configuration.
 */
 'local' => [
 'base' => root('writeable/storages/'),
 'assets' => root('public/assets/'),
 'urls' => [
 'public_url' => start_url('assets/')
 ],
 'lock_flags' => LOCK_EX,
 'disallow_links' => true,
 'visibility' => [
 'file' => [
 'public' => 0644,
 'private' => 0644,
 ],
 'dir' => [
 'public' => 0740,
 'private' => 7604,
 ],
 ]
 ],
 
 /**
 * Memory storage configuration.
 */
 'memory' => [
 'readonly' => false
 ],
 
 /**
 * AWS-S3 storage configuration.
 */
 'aws-s3' => [
 'configuration' => [
 'credentials' => [
 'key'    => 'your-key',
 'secret' => 'your-secret',
 ],
 'region' => 'your-region',
 'version' => 'latest',
 ],
 'bucket' => 'bucket-name',
 'base' => 'path/to/base/storage',
 'visibility' => 'public',
 'urls' => [
 'public_url' => []
 ],
 ],
 
 /**
 * AWS-ASYNC-S3 storage configuration.
 */
 'aws-async-s3' => [
 'configuration' => [
 'credentials' => [
 'key'    => 'your-key',
 'secret' => 'your-secret',
 ],
 'region' => 'your-region',
 'version' => 'latest',
 ],
 'bucket' => 'bucket-name',
 'base' => 'path/to/base/storage',
 'visibility' => 'public',
 'urls' => [
 'public_url' => []
 ],
 ],
 
 /**
 * AZURE-BLOB storage configuration.
 */
 'azure-blob' => [
 'dns' => 'DSN-STRING-HERE',
 'container' => 'container-name',
 'base' => 'path/to/base/storage',
 'visibility' => 'public',
 'urls' => [
 'public_url' => []
 ],
 ],
 
 /**
 * Google Cloud storage configuration.
 */
 'google-cloud' => [
 'configuration' => [],
 'bucket' => 'your-bucket-name',
 'base' => 'path/to/base/storage',
 'urls' => [
 'public_url' => []
 ],
 ],
 
 /**
 * Web Dev storage configuration.
 */
 'web-dev' => [
 'baseurl' => 'http://your-webdav-server.org/',
 'username' => 'your-bucket-name',
 'password' => 'your-password', // required
 'urls' => [
 'public_url' => []
 ]
 ],
 
 /**
 * FTB storage configuration.
 */
 'ftp' => [
 'host' => 'hostname', // required
 'root' => '/root/path/', // required
 'username' => 'your-username', // required
 'password' => 'your-password', // required
 ],
 
 /**
 * SFTP storage configuration.
 */
 'sftp-v3' => [
 'host' => 'localhost', // required
 'username' => 'your-username', // required
 'password' => 'your-password', // required
 'root' => '/root/path/', // required
 'port' => 22,
 'visibility' => []
 ],
 
 /**
 * ZIP Archive storage configuration.
 */
 'zip-archive' => [
 'path' => '/path/to/zip/'
 ]
 ];
 |