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:
parent
e96f63023e
commit
318844226c
87 changed files with 121 additions and 4959 deletions
|
@ -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,
|
||||
|
|
|
@ -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' } },
|
||||
}
|
||||
);
|
||||
},
|
||||
]);
|
|
@ -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;
|
||||
},
|
||||
]);
|
|
@ -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;
|
||||
},
|
||||
]);
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue