mirror of
https://github.com/portainer/portainer.git
synced 2025-08-04 05:15:25 +02:00
feat(analytics): track existing features (#5448) [EE-1076]
This commit is contained in:
parent
b8e6c5ea91
commit
4ffee27a4b
25 changed files with 361 additions and 55 deletions
|
@ -5,6 +5,7 @@ angular
|
|||
.module('portainer.app')
|
||||
.controller('CreateEndpointController', function CreateEndpointController(
|
||||
$async,
|
||||
$analytics,
|
||||
$q,
|
||||
$scope,
|
||||
$state,
|
||||
|
@ -167,16 +168,32 @@ angular
|
|||
});
|
||||
};
|
||||
|
||||
$scope.addAgentEndpoint = function () {
|
||||
var name = $scope.formValues.Name;
|
||||
// var URL = $filter('stripprotocol')($scope.formValues.URL);
|
||||
var URL = $scope.formValues.URL;
|
||||
var publicURL = $scope.formValues.PublicURL === '' ? URL.split(':')[0] : $scope.formValues.PublicURL;
|
||||
var groupId = $scope.formValues.GroupId;
|
||||
var tagIds = $scope.formValues.TagIds;
|
||||
$scope.addAgentEndpoint = addAgentEndpoint;
|
||||
async function addAgentEndpoint() {
|
||||
return $async(async () => {
|
||||
const name = $scope.formValues.Name;
|
||||
const URL = $scope.formValues.URL;
|
||||
const publicURL = $scope.formValues.PublicURL === '' ? URL.split(':')[0] : $scope.formValues.PublicURL;
|
||||
const groupId = $scope.formValues.GroupId;
|
||||
const tagIds = $scope.formValues.TagIds;
|
||||
|
||||
addEndpoint(name, PortainerEndpointCreationTypes.AgentEnvironment, URL, publicURL, groupId, tagIds, true, true, true, null, null, null);
|
||||
};
|
||||
const endpoint = await addEndpoint(name, PortainerEndpointCreationTypes.AgentEnvironment, URL, publicURL, groupId, tagIds, true, true, true, null, null, null);
|
||||
$analytics.eventTrack('portainer-endpoint-creation', { category: 'portainer', metadata: { type: 'agent', platform: platformLabel(endpoint.Type) } });
|
||||
});
|
||||
|
||||
function platformLabel(type) {
|
||||
switch (type) {
|
||||
case PortainerEndpointTypes.DockerEnvironment:
|
||||
case PortainerEndpointTypes.AgentOnDockerEnvironment:
|
||||
case PortainerEndpointTypes.EdgeAgentOnDockerEnvironment:
|
||||
return 'docker';
|
||||
case PortainerEndpointTypes.KubernetesLocalEnvironment:
|
||||
case PortainerEndpointTypes.AgentOnKubernetesEnvironment:
|
||||
case PortainerEndpointTypes.EdgeAgentOnKubernetesEnvironment:
|
||||
return 'kubernetes';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$scope.addEdgeAgentEndpoint = function () {
|
||||
var name = $scope.formValues.Name;
|
||||
|
@ -213,24 +230,26 @@ angular
|
|||
});
|
||||
}
|
||||
|
||||
function addEndpoint(name, creationType, URL, PublicURL, groupId, tagIds, TLS, TLSSkipVerify, TLSSkipClientVerify, TLSCAFile, TLSCertFile, TLSKeyFile, CheckinInterval) {
|
||||
$scope.state.actionInProgress = true;
|
||||
EndpointService.createRemoteEndpoint(
|
||||
name,
|
||||
creationType,
|
||||
URL,
|
||||
PublicURL,
|
||||
groupId,
|
||||
tagIds,
|
||||
TLS,
|
||||
TLSSkipVerify,
|
||||
TLSSkipClientVerify,
|
||||
TLSCAFile,
|
||||
TLSCertFile,
|
||||
TLSKeyFile,
|
||||
CheckinInterval
|
||||
)
|
||||
.then(function success(endpoint) {
|
||||
async function addEndpoint(name, creationType, URL, PublicURL, groupId, tagIds, TLS, TLSSkipVerify, TLSSkipClientVerify, TLSCAFile, TLSCertFile, TLSKeyFile, CheckinInterval) {
|
||||
return $async(async () => {
|
||||
$scope.state.actionInProgress = true;
|
||||
try {
|
||||
const endpoint = await EndpointService.createRemoteEndpoint(
|
||||
name,
|
||||
creationType,
|
||||
URL,
|
||||
PublicURL,
|
||||
groupId,
|
||||
tagIds,
|
||||
TLS,
|
||||
TLSSkipVerify,
|
||||
TLSSkipClientVerify,
|
||||
TLSCAFile,
|
||||
TLSCertFile,
|
||||
TLSKeyFile,
|
||||
CheckinInterval
|
||||
);
|
||||
|
||||
Notifications.success('Endpoint created', name);
|
||||
switch (endpoint.Type) {
|
||||
case PortainerEndpointTypes.EdgeAgentOnDockerEnvironment:
|
||||
|
@ -244,13 +263,14 @@ angular
|
|||
$state.go('portainer.endpoints', {}, { reload: true });
|
||||
break;
|
||||
}
|
||||
})
|
||||
.catch(function error(err) {
|
||||
|
||||
return endpoint;
|
||||
} catch (err) {
|
||||
Notifications.error('Failure', err, 'Unable to create endpoint');
|
||||
})
|
||||
.finally(function final() {
|
||||
} finally {
|
||||
$scope.state.actionInProgress = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function initView() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue