1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-09 07:45:22 +02:00

refactor(storidge): remove Storidge support from backend [EE-2450] (#6511)

* refactor(storidge): remove Storidge support from backend

* refactor(storidge): remove Storidge support from backend

* refactor(storidge): remove Storidge support from frontend
This commit is contained in:
Anthony Lapenna 2022-02-09 05:47:11 +13:00 committed by GitHub
parent e96f63023e
commit 318844226c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
87 changed files with 121 additions and 4959 deletions

View file

@ -9,8 +9,6 @@ export function createMockUser(id: number, username: string): UserViewModel {
EndpointAuthorizations: {},
PortainerAuthorizations: {
PortainerDockerHubInspect: true,
PortainerEndpointExtensionAdd: true,
PortainerEndpointExtensionRemove: true,
PortainerEndpointGroupInspect: true,
PortainerEndpointGroupList: true,
PortainerEndpointInspect: true,

View file

@ -1,19 +0,0 @@
// TODO: legacy extension management
angular.module('portainer.app').factory('LegacyExtensions', [
'$resource',
'EndpointProvider',
'API_ENDPOINT_ENDPOINTS',
function LegacyExtensions($resource, EndpointProvider, API_ENDPOINT_ENDPOINTS) {
'use strict';
return $resource(
API_ENDPOINT_ENDPOINTS + '/:endpointId/extensions/:type',
{
endpointId: EndpointProvider.endpointID,
},
{
register: { method: 'POST' },
deregister: { method: 'DELETE', params: { type: '@type' } },
}
);
},
]);

View file

@ -1,23 +0,0 @@
// TODO: legacy extension management
angular.module('portainer.app').factory('LegacyExtensionService', [
'LegacyExtensions',
function LegacyExtensionServiceFactory(LegacyExtensions) {
'use strict';
var service = {};
service.registerStoridgeExtension = function (url) {
var payload = {
Type: 1,
URL: url,
};
return LegacyExtensions.register(payload).$promise;
};
service.deregisterStoridgeExtension = function () {
return LegacyExtensions.deregister({ type: 1 }).$promise;
};
return service;
},
]);

View file

@ -1,86 +0,0 @@
import _ from 'lodash-es';
// TODO: legacy extension management
angular.module('portainer.app').factory('LegacyExtensionManager', [
'$q',
'PluginService',
'SystemService',
'NodeService',
'LegacyExtensionService',
function ExtensionManagerFactory($q, PluginService, SystemService, NodeService, LegacyExtensionService) {
'use strict';
var service = {};
service.initEndpointExtensions = function (endpoint) {
var deferred = $q.defer();
if (endpoint.Status !== 1) {
deferred.resolve([]);
return deferred.promise;
}
SystemService.version()
.then(function success(data) {
var endpointAPIVersion = parseFloat(data.ApiVersion);
return $q.all([endpointAPIVersion >= 1.25 ? initStoridgeExtension() : {}]);
})
.then(function success(data) {
var extensions = data;
deferred.resolve(extensions);
})
.catch(function error(err) {
deferred.reject({ msg: 'Unable to connect to the Docker environment', err: err });
});
return deferred.promise;
};
function initStoridgeExtension() {
var deferred = $q.defer();
PluginService.volumePlugins()
.then(function success(data) {
var volumePlugins = data;
if (_.includes(volumePlugins, 'cio:latest')) {
return registerStoridgeUsingSwarmManagerIP();
} else {
return deregisterStoridgeExtension();
}
})
.then(function success(data) {
deferred.resolve(data);
})
.catch(function error(err) {
deferred.reject({ msg: 'An error occured during Storidge extension check', err: err });
});
return deferred.promise;
}
function registerStoridgeUsingSwarmManagerIP() {
var deferred = $q.defer();
NodeService.getActiveManager()
.then(function success(data) {
var managerIP = data.Addr;
var storidgeAPIURL = 'tcp://' + managerIP + ':8282';
return LegacyExtensionService.registerStoridgeExtension(storidgeAPIURL);
})
.then(function success(data) {
deferred.resolve(data);
})
.catch(function error(err) {
deferred.reject({ msg: 'An error occured during Storidge extension initialization', err: err });
});
return deferred.promise;
}
function deregisterStoridgeExtension() {
return LegacyExtensionService.deregisterStoridgeExtension();
}
return service;
},
]);

View file

@ -26,7 +26,6 @@ function StateManagerFactory(
dismissedInfoPanels: {},
dismissedInfoHash: '',
},
extensions: [],
};
manager.setVersionInfo = function (versionInfo) {
@ -153,20 +152,7 @@ function StateManagerFactory(
return cacheValidity < APPLICATION_CACHE_VALIDITY;
}
function assignExtensions(endpointExtensions) {
var extensions = [];
for (var i = 0; i < endpointExtensions.length; i++) {
var extension = endpointExtensions[i];
if (extension.Type === 1) {
extensions.push('storidge');
}
}
return extensions;
}
manager.updateEndpointState = function (endpoint, extensions) {
manager.updateEndpointState = function (endpoint) {
var deferred = $q.defer();
if (endpoint.Type === 3) {
@ -196,7 +182,6 @@ function StateManagerFactory(
state.endpoint.name = endpoint.Name;
state.endpoint.type = endpoint.Type;
state.endpoint.apiVersion = endpointAPIVersion;
state.endpoint.extensions = assignExtensions(extensions);
if (endpointMode.agentProxy && endpoint.Status === 1) {
return AgentPingService.ping().then(function onPingSuccess(data) {

View file

@ -24,8 +24,6 @@ export function mockExampleData() {
EndpointAuthorizations: {},
PortainerAuthorizations: {
PortainerDockerHubInspect: true,
PortainerEndpointExtensionAdd: true,
PortainerEndpointExtensionRemove: true,
PortainerEndpointGroupInspect: true,
PortainerEndpointGroupList: true,
PortainerEndpointInspect: true,
@ -51,8 +49,6 @@ export function mockExampleData() {
EndpointAuthorizations: {},
PortainerAuthorizations: {
PortainerDockerHubInspect: true,
PortainerEndpointExtensionAdd: true,
PortainerEndpointExtensionRemove: true,
PortainerEndpointGroupInspect: true,
PortainerEndpointGroupList: true,
PortainerEndpointInspect: true,

View file

@ -39,26 +39,6 @@
></docker-sidebar>
</div>
<sidebar-section title="Integrations" ng-if="applicationState.endpoint.mode && applicationState.endpoint.extensions.length > 0" authorization="IntegrationStoridgeAdmin">
<sidebar-menu
ng-if="
applicationState.endpoint.mode &&
applicationState.endpoint.extensions.indexOf('storidge') !== -1 &&
applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE' &&
applicationState.endpoint.mode.role === 'MANAGER'
"
icon-class="fa-bolt fa-fw"
label="Storidge"
path="storidge.cluster"
is-sidebar-open="toggle"
children-paths="['storidge.cluster', 'storidge.profiles', 'storidge.monitor', 'storidge.profiles.new', 'storidge.profiles.profile', 'storidge.drives', 'storidge.drives.drive', 'storidge.cluster.node']"
>
<sidebar-menu-item path="storidge.monitor" class-name="sidebar-sublist">Monitor</sidebar-menu-item>
<sidebar-menu-item path="storidge.profiles" class-name="sidebar-sublist">Profiles</sidebar-menu-item>
<sidebar-menu-item path="storidge.drives" class-name="sidebar-sublist">Drives</sidebar-menu-item>
</sidebar-menu>
</sidebar-section>
<sidebar-section title="Edge compute" ng-if="isAdmin && applicationState.application.enableEdgeComputeFeatures">
<sidebar-menu-item path="edge.devices" icon-class="fas fa-laptop-code fa-fw" class-name="sidebar-list" data-cy="portainerSidebar-edgeDevices">
Edge Devices