From b046a3e9f75d34b458e2493ded05c792da570191 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 28 Sep 2023 10:53:00 +0200 Subject: [PATCH] fix: sslip for localhost --- .../Project/New/GithubPrivateRepository.php | 6 ++-- .../New/GithubPrivateRepositoryDeployKey.php | 6 ++-- .../Project/New/PublicGitRepository.php | 6 ++-- .../Livewire/Project/New/SimpleDockerfile.php | 7 ++-- app/Models/Service.php | 36 ++----------------- bootstrap/helpers/shared.php | 13 +++++++ 6 files changed, 24 insertions(+), 50 deletions(-) diff --git a/app/Http/Livewire/Project/New/GithubPrivateRepository.php b/app/Http/Livewire/Project/New/GithubPrivateRepository.php index 51b6376f4..15f137bc2 100644 --- a/app/Http/Livewire/Project/New/GithubPrivateRepository.php +++ b/app/Http/Livewire/Project/New/GithubPrivateRepository.php @@ -144,10 +144,8 @@ class GithubPrivateRepository extends Component $application->settings->is_static = $this->is_static; $application->settings->save(); - $application->fqdn = "http://{$application->uuid}.{$destination->server->ip}.sslip.io"; - if (isDev()) { - $application->fqdn = "http://{$application->uuid}.127.0.0.1.sslip.io"; - } + $sslip = sslip($destination->server); + $application->fqdn = "http://{$application->uuid}.$sslip"; $application->name = generate_application_name($this->selected_repository_owner . '/' . $this->selected_repository_repo, $this->selected_branch_name, $application->uuid); $application->save(); diff --git a/app/Http/Livewire/Project/New/GithubPrivateRepositoryDeployKey.php b/app/Http/Livewire/Project/New/GithubPrivateRepositoryDeployKey.php index 419e685d9..db6f4ad89 100644 --- a/app/Http/Livewire/Project/New/GithubPrivateRepositoryDeployKey.php +++ b/app/Http/Livewire/Project/New/GithubPrivateRepositoryDeployKey.php @@ -112,10 +112,8 @@ class GithubPrivateRepositoryDeployKey extends Component $application->settings->is_static = $this->is_static; $application->settings->save(); - $application->fqdn = "http://{$application->uuid}.{$destination->server->ip}.sslip.io"; - if (isDev()) { - $application->fqdn = "http://{$application->uuid}.127.0.0.1.sslip.io"; - } + $sslip = sslip($destination->server); + $application->fqdn = "http://{$application->uuid}.$sslip"; $application->name = generate_random_name($application->uuid); $application->save(); diff --git a/app/Http/Livewire/Project/New/PublicGitRepository.php b/app/Http/Livewire/Project/New/PublicGitRepository.php index f21651504..8c8b25746 100644 --- a/app/Http/Livewire/Project/New/PublicGitRepository.php +++ b/app/Http/Livewire/Project/New/PublicGitRepository.php @@ -156,10 +156,8 @@ class PublicGitRepository extends Component $application->settings->is_static = $this->is_static; $application->settings->save(); - $application->fqdn = "http://{$application->uuid}.{$destination->server->ip}.sslip.io"; - if (isDev()) { - $application->fqdn = "http://{$application->uuid}.127.0.0.1.sslip.io"; - } + $sslip = sslip($destination->server); + $application->fqdn = "http://{$application->uuid}.$sslip"; $application->name = generate_application_name($this->git_repository, $this->git_branch, $application->uuid); $application->save(); diff --git a/app/Http/Livewire/Project/New/SimpleDockerfile.php b/app/Http/Livewire/Project/New/SimpleDockerfile.php index 3ecaeb815..6a5d40b68 100644 --- a/app/Http/Livewire/Project/New/SimpleDockerfile.php +++ b/app/Http/Livewire/Project/New/SimpleDockerfile.php @@ -60,13 +60,10 @@ CMD ["nginx", "-g", "daemon off;"] 'source_type' => GithubApp::class ]); - $fqdn = "http://{$application->uuid}.{$destination->server->ip}.sslip.io"; - if (isDev()) { - $fqdn = "http://{$application->uuid}.127.0.0.1.sslip.io"; - } + $sslip = sslip($destination->server); $application->update([ 'name' => 'dockerfile-' . $application->uuid, - 'fqdn' => $fqdn + 'fqdn' => "http://{$application->uuid}.$sslip" ]); redirect()->route('project.application.configuration', [ diff --git a/app/Models/Service.php b/app/Models/Service.php index 166f40fd6..51fc66b11 100644 --- a/app/Models/Service.php +++ b/app/Models/Service.php @@ -109,37 +109,7 @@ class Service extends BaseModel } instant_remote_process($commands, $this->server); } - private function sslip(Server $server) - { - if (isDev()) { - return "127.0.0.1.sslip.io"; - } - return "{$server->ip}.sslip.io"; - } - // private function generateFqdn($serviceVariables, $serviceName, Collection $configuration) - // { - // // Add sslip.io to the service - // $defaultUsableFqdn = null; - // $sslip = $this->sslip($this->server); - // if (Str::of($serviceVariables)->contains('SERVICE_FQDN') || Str::of($serviceVariables)->contains('SERVICE_URL')) { - // $defaultUsableFqdn = "http://$serviceName-{$this->uuid}.{$sslip}"; - // } - // if ($configuration->count() > 0) { - // foreach ($configuration as $requiredFqdn) { - // $requiredFqdn = (array)$requiredFqdn; - // $name = data_get($requiredFqdn, 'name'); - // $path = data_get($requiredFqdn, 'path'); - // $customFqdn = data_get($requiredFqdn, 'customFqdn'); - // if ($serviceName === $name) { - // $defaultUsableFqdn = "http://$serviceName-{$this->uuid}.{$sslip}{$path}"; - // if ($customFqdn) { - // $defaultUsableFqdn = "http://$customFqdn-{$this->uuid}.{$sslip}{$path}"; - // } - // } - // } - // } - // return $defaultUsableFqdn ?? null; - // } + public function parse(bool $isNew = false): Collection { // ray()->clearAll(); @@ -374,7 +344,7 @@ class Service extends BaseModel } if ($key->startsWith('SERVICE_FQDN')) { if (is_null(data_get($savedService, 'fqdn'))) { - $sslip = $this->sslip($this->server); + $sslip = sslip($this->server); $fqdn = "http://$containerName.$sslip"; if (substr_count($key->value(), '_') === 2 && $key->contains("=")) { $path = $value->value(); @@ -409,7 +379,7 @@ class Service extends BaseModel $forService = $value->afterLast('_'); $generatedValue = null; if ($command->value() === 'FQDN' || $command->value() === 'URL') { - $sslip = $this->sslip($this->server); + $sslip = sslip($this->server); $fqdn = "http://$containerName.$sslip"; if ($foundEnv) { $fqdn = data_get($foundEnv, 'value'); diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index a1610cb2f..946fa198f 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -1,6 +1,7 @@ ip === 'host.docker.internal') { + $baseIp = base_ip(); + return "$baseIp.sslip.io"; + } + return "{$server->ip}.sslip.io"; +}