feat/ajout-de-fonctionnalites #2

Merged
tristan merged 46 commits from feat/ajout-de-fonctionnalites into develop 2026-04-06 14:29:04 +00:00
Showing only changes of commit 7127bdfdfc - Show all commits

View File

@@ -35,11 +35,13 @@ final readonly class GiteaRegistryService
$owner = $parts[1];
$package = implode('/', \array_slice($parts, 2));
$bearerToken = $this->getBearerToken($owner, $package);
$url = sprintf('%s/v2/%s/%s/tags/list', $this->giteaApiUrl, $owner, $package);
$response = $this->httpClient->request('GET', $url, [
'headers' => [
'Authorization' => sprintf('token %s', $this->giteaApiToken),
'Authorization' => sprintf('Bearer %s', $bearerToken),
],
'timeout' => 10,
]);
@@ -69,4 +71,23 @@ final readonly class GiteaRegistryService
return $tags;
}
private function getBearerToken(string $owner, string $package): string
{
$tokenUrl = sprintf(
'%s/v2/token?service=container_registry&scope=repository:%s/%s:pull',
$this->giteaApiUrl,
$owner,
$package,
);
$response = $this->httpClient->request('GET', $tokenUrl, [
'auth_basic' => [$this->giteaApiToken, ''],
'timeout' => 10,
]);
$data = $response->toArray();
return $data['token'] ?? throw new \RuntimeException('Failed to obtain bearer token from Gitea registry.');
}
}