mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 07:49:41 +02:00
feat(registry): gitlab support (#3107)
* feat(api): gitlab registry type * feat(registries): early support for gitlab registries * feat(app): registry service selector * feat(registry): gitlab support : list repositories and tags - remove features missing * feat(registry): gitlab registry remove features * feat(registry): gitlab switch to registry V2 API for repositories and tags * feat(api): use development extension binary * fix(registry): avoid 401 on gitlab retrieve to disconnect the user * feat(registry): gitlab browse projects without extension * style(app): code cleaning * refactor(app): PR review changes + refactor on types * fix(gitlab): remove gitlab info from registrymanagementconfig and force gitlab type * style(api): go fmt * feat(api): update APIVersion and ExtensionDefinitionsURL * fix(api): fix invalid RM extension URL * feat(registry): PAT scope help * feat(registry): defaults on registry creation * style(registry-creation): update layout and text for Gitlab registry * feat(registry-creation): update gitlab notice
This commit is contained in:
parent
03d9d6afbb
commit
198e92c734
38 changed files with 1022 additions and 160 deletions
33
app/extensions/registry-management/rest/gitlab.js
Normal file
33
app/extensions/registry-management/rest/gitlab.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
import gitlabResponseGetLink from './transform/gitlabResponseGetLink'
|
||||
|
||||
angular.module('portainer.extensions.registrymanagement')
|
||||
.factory('Gitlab', ['$resource', 'API_ENDPOINT_REGISTRIES',
|
||||
function GitlabFactory($resource, API_ENDPOINT_REGISTRIES) {
|
||||
'use strict';
|
||||
return function(env) {
|
||||
const headers = {};
|
||||
if (env) {
|
||||
headers['Private-Token'] = env.token;
|
||||
headers['X-Gitlab-Domain'] = env.url
|
||||
}
|
||||
|
||||
const baseUrl = API_ENDPOINT_REGISTRIES + '/:id/proxies/gitlab/api/v4/projects';
|
||||
|
||||
return $resource(baseUrl, {id:'@id'},
|
||||
{
|
||||
projects: {
|
||||
method: 'GET',
|
||||
params: { membership: 'true' },
|
||||
transformResponse: gitlabResponseGetLink,
|
||||
headers: headers
|
||||
},
|
||||
repositories :{
|
||||
method: 'GET',
|
||||
url: baseUrl + '/:projectId/registry/repositories',
|
||||
params: { tags: true },
|
||||
headers: headers,
|
||||
transformResponse: gitlabResponseGetLink
|
||||
}
|
||||
});
|
||||
};
|
||||
}]);
|
Loading…
Add table
Add a link
Reference in a new issue