diff --git a/bootstrap/helpers/docker.php b/bootstrap/helpers/docker.php index eb0898bfd..5308b3fa8 100644 --- a/bootstrap/helpers/docker.php +++ b/bootstrap/helpers/docker.php @@ -340,17 +340,22 @@ function convert_docker_run_to_compose(?string $custom_docker_run_options = null '--cap-drop' => 'cap_drop', '--security-opt' => 'security_opt', '--sysctl' => 'sysctls', - '--device' => 'devices', '--ulimit' => 'ulimits', + '--device' => 'devices', '--init' => 'init', '--ulimit' => 'ulimits', '--privileged' => 'privileged', ]); foreach ($matches as $match) { $option = $match[1]; - $value = isset($match[2]) && $match[2] !== '' ? $match[2] : true; - $options[$option][] = $value; - $options[$option] = array_unique($options[$option]); + if (isset($match[2]) && $match[2] !== '') { + $value = $match[2]; + $options[$option][] = $value; + $options[$option] = array_unique($options[$option]); + } else { + $value = true; + $options[$option] = $value; + } } $options = collect($options); // Easily get mappings from https://github.com/composerize/composerize/blob/master/packages/composerize/src/mappings.js diff --git a/config/sentry.php b/config/sentry.php index 4a2eff3f2..490d0bd5b 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -7,7 +7,7 @@ return [ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) - 'release' => '4.0.0-beta.213', + 'release' => '4.0.0-beta.214', // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index b1372fd9d..eaa643e60 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ - @if (isCloud() && isInstanceAdmin())
  • diff --git a/tests/Feature/DockerRunTest.php b/tests/Feature/DockerRunTest.php index 8821d1ad4..d0494f652 100644 --- a/tests/Feature/DockerRunTest.php +++ b/tests/Feature/DockerRunTest.php @@ -1,9 +1,31 @@ toBe([ 'cap_add' => ['NET_ADMIN', 'NET_RAW', 'SYS_ADMIN'], ])->ray(); }); + +it('ConvertPrivilegedAndInit', function () { + $input = '---privileged --init'; + $output = convert_docker_run_to_compose($input); + expect($output)->toBe([ + 'privileged' => true, + 'init' => true, + ])->ray(); +}); + +it('ConvertUlimit', function () { + $input = '--ulimit nofile=262144:262144'; + $output = convert_docker_run_to_compose($input); + expect($output)->toBe([ + 'ulimits' => [ + 'nofile' => [ + 'soft' => '262144', + 'hard' => '262144', + ], + ], + ])->ray(); +}); diff --git a/versions.json b/versions.json index 0de695692..72507582f 100644 --- a/versions.json +++ b/versions.json @@ -4,7 +4,7 @@ "version": "3.12.36" }, "v4": { - "version": "4.0.0-beta.213" + "version": "4.0.0-beta.214" } } }