diff --git a/app/Models/Service.php b/app/Models/Service.php index c809daeba..a1ff4e90b 100644 --- a/app/Models/Service.php +++ b/app/Models/Service.php @@ -678,6 +678,32 @@ class Service extends BaseModel $fields->put('GitLab', $data->toArray()); break; + case str($image)->contains('code-server'): + $data = collect([]); + $password = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_64_PASSWORDCODESERVER')->first(); + if ($password) { + $data = $data->merge([ + 'Password' => [ + 'key' => data_get($password, 'key'), + 'value' => data_get($password, 'value'), + 'rules' => 'required', + 'isPassword' => true, + ], + ]); + } + $sudoPassword = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_SUDOCODESERVER')->first(); + if ($sudoPassword) { + $data = $data->merge([ + 'Sudo Password' => [ + 'key' => data_get($sudoPassword, 'key'), + 'value' => data_get($sudoPassword, 'value'), + 'rules' => 'required', + 'isPassword' => true, + ], + ]); + } + $fields->put('Code Server', $data->toArray()); + break; } } $databases = $this->databases()->get(); @@ -724,8 +750,8 @@ class Service extends BaseModel $fields->put('PostgreSQL', $data->toArray()); break; case str($image)->contains('mysql'): - $userVariables = ['SERVICE_USER_MYSQL', 'SERVICE_USER_WORDPRESS']; - $passwordVariables = ['SERVICE_PASSWORD_MYSQL', 'SERVICE_PASSWORD_WORDPRESS']; + $userVariables = ['SERVICE_USER_MYSQL', 'SERVICE_USER_WORDPRESS', 'MYSQL_USER']; + $passwordVariables = ['SERVICE_PASSWORD_MYSQL', 'SERVICE_PASSWORD_WORDPRESS', 'MYSQL_PASSWORD']; $rootPasswordVariables = ['SERVICE_PASSWORD_MYSQLROOT', 'SERVICE_PASSWORD_ROOT']; $dbNameVariables = ['MYSQL_DATABASE']; $mysql_user = $this->environment_variables()->whereIn('key', $userVariables)->first(); @@ -774,10 +800,10 @@ class Service extends BaseModel $fields->put('MySQL', $data->toArray()); break; case str($image)->contains('mariadb'): - $userVariables = ['SERVICE_USER_MARIADB', 'SERVICE_USER_WORDPRESS', '_APP_DB_USER', 'SERVICE_USER_MYSQL']; - $passwordVariables = ['SERVICE_PASSWORD_MARIADB', 'SERVICE_PASSWORD_WORDPRESS', '_APP_DB_PASS']; - $rootPasswordVariables = ['SERVICE_PASSWORD_MARIADBROOT', 'SERVICE_PASSWORD_ROOT', '_APP_DB_ROOT_PASS']; - $dbNameVariables = ['SERVICE_DATABASE_MARIADB', 'SERVICE_DATABASE_WORDPRESS', '_APP_DB_SCHEMA']; + $userVariables = ['SERVICE_USER_MARIADB', 'SERVICE_USER_WORDPRESS', '_APP_DB_USER', 'SERVICE_USER_MYSQL', 'MYSQL_USER']; + $passwordVariables = ['SERVICE_PASSWORD_MARIADB', 'SERVICE_PASSWORD_WORDPRESS', '_APP_DB_PASS', 'MYSQL_PASSWORD']; + $rootPasswordVariables = ['SERVICE_PASSWORD_MARIADBROOT', 'SERVICE_PASSWORD_ROOT', '_APP_DB_ROOT_PASS', 'MYSQL_ROOT_PASSWORD']; + $dbNameVariables = ['SERVICE_DATABASE_MARIADB', 'SERVICE_DATABASE_WORDPRESS', '_APP_DB_SCHEMA', 'MYSQL_DATABASE']; $mariadb_user = $this->environment_variables()->whereIn('key', $userVariables)->first(); $mariadb_password = $this->environment_variables()->whereIn('key', $passwordVariables)->first(); $mariadb_root_password = $this->environment_variables()->whereIn('key', $rootPasswordVariables)->first(); @@ -824,6 +850,7 @@ class Service extends BaseModel } $fields->put('MariaDB', $data->toArray()); break; + } } diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index 968124aba..ef7f238e6 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -3453,7 +3453,7 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int } else { $shouldGenerateLabelsExactly = $resource->server->settings->generate_exact_labels; $uuid = $resource->uuid; - $network = $resource->server->destination->network; + $network = $resource->destination->network; } if ($shouldGenerateLabelsExactly) { switch ($server->proxyType()) { diff --git a/tests/Feature/DockerComposeParseTest.php b/tests/Feature/DockerComposeParseTest.php index 870690aa9..a2e97bebc 100644 --- a/tests/Feature/DockerComposeParseTest.php +++ b/tests/Feature/DockerComposeParseTest.php @@ -332,13 +332,13 @@ afterEach(function () { // }); -test('ServiceComposeParseNew', function () { - $output = newParser($this->application, pull_request_id: 1, preview_id: $this->applicationPreview->id); - // ray('New parser'); - // ray($output->toArray()); - ray($this->service->environment_variables_preview->pluck('value', 'key')->toArray()); - expect($output)->toBeInstanceOf(Collection::class); -}); +// test('ServiceComposeParseNew', function () { +// $output = newParser($this->application, pull_request_id: 1, preview_id: $this->applicationPreview->id); +// // ray('New parser'); +// // ray($output->toArray()); +// ray($this->service->environment_variables_preview->pluck('value', 'key')->toArray()); +// expect($output)->toBeInstanceOf(Collection::class); +// }); // test('ServiceComposeParseOld', function () { // $output = parseDockerComposeFile($this->service);