Updated storage limit var
This commit is contained in:
parent
a980770621
commit
e4ff592eac
1
.env
1
.env
|
@ -18,5 +18,6 @@ _APP_STATSD_HOST=telegraf
|
||||||
_APP_STATSD_PORT=8125
|
_APP_STATSD_PORT=8125
|
||||||
_APP_SMTP_HOST=maildev
|
_APP_SMTP_HOST=maildev
|
||||||
_APP_SMTP_PORT=25
|
_APP_SMTP_PORT=25
|
||||||
|
_APP_STORAGE_LIMIT=100000000
|
||||||
_APP_FUNCTIONS_TIMEOUT=900
|
_APP_FUNCTIONS_TIMEOUT=900
|
||||||
_APP_FUNCTIONS_CONTAINERS=10
|
_APP_FUNCTIONS_CONTAINERS=10
|
|
@ -20,6 +20,7 @@
|
||||||
- Optimised function execution by using fully-qualified function calls
|
- Optimised function execution by using fully-qualified function calls
|
||||||
- Added support for boolean 'true' and 'false' in query strings alongside 1 and 0
|
- Added support for boolean 'true' and 'false' in query strings alongside 1 and 0
|
||||||
- Added pagination for projects list on the console home page.
|
- Added pagination for projects list on the console home page.
|
||||||
|
- Updated storage calculation to match IEC standards
|
||||||
- New and consistent response format for all API object + new response examples in the docs
|
- New and consistent response format for all API object + new response examples in the docs
|
||||||
- Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) **
|
- Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) **
|
||||||
- Removed type attribute from session object response (used only internally)
|
- Removed type attribute from session object response (used only internally)
|
||||||
|
|
|
@ -77,7 +77,7 @@ ENV TZ=Asia/Tel_Aviv \
|
||||||
_APP_OPTIONS_ABUSE=enabled \
|
_APP_OPTIONS_ABUSE=enabled \
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
||||||
_APP_OPENSSL_KEY_V1=your-secret-key \
|
_APP_OPENSSL_KEY_V1=your-secret-key \
|
||||||
_APP_STORAGE_LIMIT=104857600 \
|
_APP_STORAGE_LIMIT=100000000 \
|
||||||
_APP_STORAGE_ANTIVIRUS=enabled \
|
_APP_STORAGE_ANTIVIRUS=enabled \
|
||||||
_APP_REDIS_HOST=redis \
|
_APP_REDIS_HOST=redis \
|
||||||
_APP_REDIS_PORT=6379 \
|
_APP_REDIS_PORT=6379 \
|
||||||
|
|
|
@ -77,7 +77,7 @@ ENV TZ=Asia/Tel_Aviv \
|
||||||
_APP_OPTIONS_ABUSE=enabled \
|
_APP_OPTIONS_ABUSE=enabled \
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
||||||
_APP_OPENSSL_KEY_V1=your-secret-key \
|
_APP_OPENSSL_KEY_V1=your-secret-key \
|
||||||
_APP_STORAGE_LIMIT=104857600 \
|
_APP_STORAGE_LIMIT=100000000 \
|
||||||
_APP_STORAGE_ANTIVIRUS=enabled \
|
_APP_STORAGE_ANTIVIRUS=enabled \
|
||||||
_APP_REDIS_HOST=redis \
|
_APP_REDIS_HOST=redis \
|
||||||
_APP_REDIS_PORT=6379 \
|
_APP_REDIS_PORT=6379 \
|
||||||
|
|
|
@ -60,7 +60,7 @@ ENV TZ=Asia/Tel_Aviv \
|
||||||
_APP_OPTIONS_ABUSE=enabled \
|
_APP_OPTIONS_ABUSE=enabled \
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
||||||
_APP_OPENSSL_KEY_V1=your-secret-key \
|
_APP_OPENSSL_KEY_V1=your-secret-key \
|
||||||
_APP_STORAGE_LIMIT=104857600 \
|
_APP_STORAGE_LIMIT=100000000 \
|
||||||
_APP_STORAGE_ANTIVIRUS=enabled \
|
_APP_STORAGE_ANTIVIRUS=enabled \
|
||||||
_APP_REDIS_HOST=redis \
|
_APP_REDIS_HOST=redis \
|
||||||
_APP_REDIS_PORT=6379 \
|
_APP_REDIS_PORT=6379 \
|
||||||
|
|
|
@ -77,7 +77,7 @@ ENV TZ=Asia/Tel_Aviv \
|
||||||
_APP_OPTIONS_ABUSE=enabled \
|
_APP_OPTIONS_ABUSE=enabled \
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
||||||
_APP_OPENSSL_KEY_V1=your-secret-key \
|
_APP_OPENSSL_KEY_V1=your-secret-key \
|
||||||
_APP_STORAGE_LIMIT=104857600 \
|
_APP_STORAGE_LIMIT=100000000 \
|
||||||
_APP_STORAGE_ANTIVIRUS=enabled \
|
_APP_STORAGE_ANTIVIRUS=enabled \
|
||||||
_APP_REDIS_HOST=redis \
|
_APP_REDIS_HOST=redis \
|
||||||
_APP_REDIS_PORT=6379 \
|
_APP_REDIS_PORT=6379 \
|
||||||
|
|
|
@ -77,7 +77,7 @@ ENV TZ=Asia/Tel_Aviv \
|
||||||
_APP_OPTIONS_ABUSE=enabled \
|
_APP_OPTIONS_ABUSE=enabled \
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
_APP_OPTIONS_FORCE_HTTPS=disabled \
|
||||||
_APP_OPENSSL_KEY_V1=your-secret-key \
|
_APP_OPENSSL_KEY_V1=your-secret-key \
|
||||||
_APP_STORAGE_LIMIT=104857600 \
|
_APP_STORAGE_LIMIT=100000000 \
|
||||||
_APP_STORAGE_ANTIVIRUS=enabled \
|
_APP_STORAGE_ANTIVIRUS=enabled \
|
||||||
_APP_REDIS_HOST=redis \
|
_APP_REDIS_HOST=redis \
|
||||||
_APP_REDIS_PORT=6379 \
|
_APP_REDIS_PORT=6379 \
|
||||||
|
|
|
@ -23,6 +23,8 @@ sleep(2);
|
||||||
|
|
||||||
$http = new Server("0.0.0.0", 80);
|
$http = new Server("0.0.0.0", 80);
|
||||||
|
|
||||||
|
$payloadSize = max(4000000 /* 4mb */, App::getEnv('_APP_STORAGE_LIMIT', 100000000));
|
||||||
|
|
||||||
$http
|
$http
|
||||||
->set([
|
->set([
|
||||||
'open_http2_protocol' => true,
|
'open_http2_protocol' => true,
|
||||||
|
@ -31,7 +33,7 @@ $http
|
||||||
'timeout' => 7,
|
'timeout' => 7,
|
||||||
'http_compression' => true,
|
'http_compression' => true,
|
||||||
'http_compression_level' => 6,
|
'http_compression_level' => 6,
|
||||||
'package_max_length' => 1000000 * 150, // 150MB
|
'package_max_length' => $payloadSize,
|
||||||
])
|
])
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -47,8 +49,8 @@ $http->on('AfterReload', function($serv, $workerId) {
|
||||||
Console::success('Reload completed...');
|
Console::success('Reload completed...');
|
||||||
});
|
});
|
||||||
|
|
||||||
$http->on('start', function (Server $http) {
|
$http->on('start', function (Server $http) use ($payloadSize) {
|
||||||
Console::success('Server started succefully');
|
Console::success('Server started succefully (max payload is '.$payloadSize.' bytes)');
|
||||||
|
|
||||||
Console::info("Master pid {$http->master_pid}, manager pid {$http->manager_pid}");
|
Console::info("Master pid {$http->master_pid}, manager pid {$http->manager_pid}");
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ services:
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS
|
||||||
- _APP_INFLUXDB_HOST
|
- _APP_INFLUXDB_HOST
|
||||||
- _APP_INFLUXDB_PORT
|
- _APP_INFLUXDB_PORT
|
||||||
|
- _APP_STORAGE_LIMIT
|
||||||
- _APP_FUNCTIONS_TIMEOUT
|
- _APP_FUNCTIONS_TIMEOUT
|
||||||
- _APP_FUNCTIONS_CONTAINERS
|
- _APP_FUNCTIONS_CONTAINERS
|
||||||
|
|
||||||
|
|
|
@ -67,24 +67,45 @@ class Storage
|
||||||
/**
|
/**
|
||||||
* Human readable data size format from bytes input.
|
* Human readable data size format from bytes input.
|
||||||
*
|
*
|
||||||
* As published on https://gist.github.com/liunian/9338301 (first comment)
|
* Based on: https://stackoverflow.com/a/38659168/2299554
|
||||||
*
|
*
|
||||||
* @param int $bytes
|
* @param int $bytes
|
||||||
* @param int $decimals
|
* @param int $decimals
|
||||||
|
* @param string $system
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function human($bytes, $decimals = 2)
|
public static function human(int $bytes, $decimals = 2, $system = 'metric')
|
||||||
{
|
{
|
||||||
$units = array('B','kB','MB','GB','TB','PB','EB','ZB','YB');
|
$mod = ($system === 'binary') ? 1024 : 1000;
|
||||||
$step = 1024;
|
|
||||||
$i = 0;
|
|
||||||
|
|
||||||
while (($bytes / $step) > 0.9) {
|
$units = array(
|
||||||
$bytes = $bytes / $step;
|
'binary' => array(
|
||||||
++$i;
|
'B',
|
||||||
}
|
'KiB',
|
||||||
|
'MiB',
|
||||||
|
'GiB',
|
||||||
|
'TiB',
|
||||||
|
'PiB',
|
||||||
|
'EiB',
|
||||||
|
'ZiB',
|
||||||
|
'YiB',
|
||||||
|
),
|
||||||
|
'metric' => array(
|
||||||
|
'B',
|
||||||
|
'kB',
|
||||||
|
'MB',
|
||||||
|
'GB',
|
||||||
|
'TB',
|
||||||
|
'PB',
|
||||||
|
'EB',
|
||||||
|
'ZB',
|
||||||
|
'YB',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
return \round($bytes, $decimals).$units[$i];
|
$factor = floor((strlen($bytes) - 1) / 3);
|
||||||
|
|
||||||
|
return sprintf("%.{$decimals}f%s", $bytes / pow($mod, $factor), $units[$system][$factor]);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -12,6 +12,8 @@ class FileSize extends Validator
|
||||||
protected $max;
|
protected $max;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Max size in bytes
|
||||||
|
*
|
||||||
* @param int $max
|
* @param int $max
|
||||||
*/
|
*/
|
||||||
public function __construct($max)
|
public function __construct($max)
|
||||||
|
|
Loading…
Reference in a new issue