diff --git a/app/Jobs/WikiEntityImportJob.php b/app/Jobs/WikiEntityImportJob.php index 5755c2c1..8fb605f0 100644 --- a/app/Jobs/WikiEntityImportJob.php +++ b/app/Jobs/WikiEntityImportJob.php @@ -45,9 +45,7 @@ public function handle(Client $kubernetesClient): void $import = WikiEntityImport::findOrFail($this->importId); $creds = $this->acquireCredentials($wiki->domain); - $this->targetWikiUrl = str_contains($wiki->domain, "localhost") - ? "http://".$wiki->domain - : "https://".$wiki->domain; + $this->targetWikiUrl = $this->domainToOrigin($wiki->domain); $kubernetesJob = new TransferBotKubernetesJob( kubernetesClient: $kubernetesClient, @@ -74,6 +72,14 @@ public function handle(Client $kubernetesClient): void } } + private static function domainToOrigin(string $domain): string + { + $tld = last(explode('.', $domain)); + return $tld === 'localhost' + ? "http://".$domain + : "https://".$domain; + } + private static function acquireCredentials(string $wikiDomain): OAuthCredentials { $response = Http::withHeaders(['host' => $wikiDomain])->asForm()->post( @@ -112,9 +118,13 @@ public function __construct( public int $importId, ){ $this->kubernetesNamespace = Config::get('wbstack.api_job_namespace'); + $this->transferbotImageRepo = Config::get('wbstack.transferbot_image_repo'); + $this->transferbotImageVersion = Config::get('wbstack.transferbot_image_version'); } private string $kubernetesNamespace; + private string $transferbotImageRepo; + private string $transferbotImageVersion; public function spawn(): string { @@ -150,14 +160,14 @@ private function constructSpec(): array 'backoffLimit' => 0, 'template' => [ 'metadata' => [ - 'name' => 'run-transferbot' + 'name' => 'run-entity-import' ], 'spec' => [ 'containers' => [ 0 => [ 'hostNetwork' => true, - 'name' => 'run-qs-updater', - 'image' => 'ghcr.io/wbstack/transferbot:1.0.0', + 'name' => 'run-entity-import', + 'image' => $this->transferbotImageRepo.':'.$this->transferbotImageVersion, 'env' => [ ...$this->creds->marshalEnv(), [ diff --git a/config/wbstack.php b/config/wbstack.php index 4775b0bd..e80cfe02 100644 --- a/config/wbstack.php +++ b/config/wbstack.php @@ -34,4 +34,7 @@ 'api_job_namespace' => env('API_JOB_NAMESPACE', env('WBSTACK_API_JOB_NAMESPACE', 'api-jobs')), 'qs_job_namespace' => env('WBSTACK_QS_JOB_NAMESPACE', 'qs-jobs'), + + 'transferbot_image_repo' => env('WBSTACK_TRANSFERBOT_IMAGE_REPO', 'ghcr.io/wbstack/transferbot'), + 'transferbot_image_version' => env('WBSTACK_TRANSFERBOT_IMAGE_VERSION', '1.0.0'), ];