mirror of
https://github.com/portainer/portainer.git
synced 2025-08-02 20:35:25 +02:00
fix cluster setup page route (#6020)
This commit is contained in:
parent
ebfabe6c47
commit
af0d637414
9 changed files with 403 additions and 389 deletions
|
@ -28,7 +28,13 @@
|
|||
Namespaces
|
||||
</sidebar-menu-item>
|
||||
|
||||
<sidebar-menu-item path="kubernetes.templates.helm" path-params="{ endpointId: $ctrl.endpointId }" icon-class="fa-dharmachakra fa-fw" class-name="sidebar-list" data-cy="k8sSidebar-helm">
|
||||
<sidebar-menu-item
|
||||
path="kubernetes.templates.helm"
|
||||
path-params="{ endpointId: $ctrl.endpointId }"
|
||||
icon-class="fa-dharmachakra fa-fw"
|
||||
class-name="sidebar-list"
|
||||
data-cy="k8sSidebar-helm"
|
||||
>
|
||||
Helm
|
||||
</sidebar-menu-item>
|
||||
|
||||
|
@ -62,12 +68,12 @@
|
|||
path="kubernetes.cluster"
|
||||
path-params="{ endpointId: $ctrl.endpointId }"
|
||||
is-sidebar-open="$ctrl.isSidebarOpen"
|
||||
children-paths="['kubernetes.cluster', 'portainer.endpoints.endpoint.kubernetesConfig', 'kubernetes.registries', 'kubernetes.registries.access']"
|
||||
children-paths="['kubernetes.cluster', 'portainer.k8sendpoint.kubernetesConfig', 'kubernetes.registries', 'kubernetes.registries.access']"
|
||||
>
|
||||
<div ng-if="$ctrl.adminAccess">
|
||||
<sidebar-menu-item
|
||||
authorization="K8sClusterSetupRW"
|
||||
path="portainer.endpoints.endpoint.kubernetesConfig"
|
||||
path="portainer.k8sendpoint.kubernetesConfig"
|
||||
path-params="{ id: $ctrl.endpointId }"
|
||||
class-name="sidebar-sublist"
|
||||
data-cy="k8sSidebar-setup"
|
||||
|
|
|
@ -1007,7 +1007,7 @@
|
|||
</p>
|
||||
<p ng-if="ctrl.isAdmin">
|
||||
Server metrics features must be enabled in the
|
||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})" class="ctrl.isAdmin">environment configuration view</a>.
|
||||
<a ui-sref="portainer.k8sendpoint.kubernetesConfig({id: ctrl.endpoint.Id})" class="ctrl.isAdmin">environment configuration view</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<kubernetes-view-header title="Kubernetes features configuration" state="portainer.endpoints.endpoint.kubernetesConfig" view-ready="ctrl.state.viewReady">
|
||||
<kubernetes-view-header title="Kubernetes features configuration" state="portainer.k8sendpoint.kubernetesConfig" view-ready="ctrl.state.viewReady">
|
||||
<a ui-sref="portainer.endpoints">Environment</a> > <a ui-sref="portainer.endpoints.endpoint({id: ctrl.endpoint.Id})">{{ ctrl.endpoint.Name }}</a> > Kubernetes configuration
|
||||
</kubernetes-view-header>
|
||||
|
||||
|
|
|
@ -210,8 +210,8 @@
|
|||
<div class="form-group" ng-if="$ctrl.formValues.IngressClasses.length === 0">
|
||||
<div class="col-sm-12 small text-muted">
|
||||
The ingress feature must be enabled in the
|
||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: $ctrl.endpoint.Id})">environment configuration view</a> to be able to register ingresses inside
|
||||
this namespace.
|
||||
<a ui-sref="portainer.k8sendpoint.kubernetesConfig({id: $ctrl.endpoint.Id})">environment configuration view</a> to be able to register ingresses inside this
|
||||
namespace.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -164,8 +164,8 @@
|
|||
<div class="form-group" ng-if="ctrl.formValues.IngressClasses.length === 0">
|
||||
<div class="col-sm-12 small text-muted">
|
||||
The ingress feature must be enabled in the
|
||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})">environment configuration view</a> to be able to register ingresses inside
|
||||
this namespace.
|
||||
<a ui-sref="portainer.k8sendpoint.kubernetesConfig({id: ctrl.endpoint.Id})">environment configuration view</a> to be able to register ingresses inside this
|
||||
namespace.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -21,436 +21,444 @@ async function initAuthentication(authManager, Authentication, $rootScope, $stat
|
|||
return await Authentication.init();
|
||||
}
|
||||
|
||||
angular.module('portainer.app', ['portainer.oauth', 'portainer.rbac', componentsModule, settingsModule, featureFlagModule, userActivityModule, 'portainer.shared.datatable']).config([
|
||||
'$stateRegistryProvider',
|
||||
function ($stateRegistryProvider) {
|
||||
'use strict';
|
||||
angular
|
||||
.module('portainer.app', ['portainer.oauth', 'portainer.rbac', componentsModule, settingsModule, featureFlagModule, userActivityModule, 'portainer.shared.datatable'])
|
||||
.config([
|
||||
'$stateRegistryProvider',
|
||||
function ($stateRegistryProvider) {
|
||||
'use strict';
|
||||
|
||||
var root = {
|
||||
name: 'root',
|
||||
abstract: true,
|
||||
onEnter: /* @ngInject */ function onEnter($async, StateManager, Authentication, Notifications, authManager, $rootScope, $state) {
|
||||
return $async(async () => {
|
||||
const appState = StateManager.getState();
|
||||
if (!appState.loading) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const loggedIn = await initAuthentication(authManager, Authentication, $rootScope, $state);
|
||||
await StateManager.initialize();
|
||||
if (!loggedIn && isTransitionRequiresAuthentication($state.transition)) {
|
||||
$state.go('portainer.logout');
|
||||
return Promise.reject('Unauthenticated');
|
||||
}
|
||||
} catch (err) {
|
||||
Notifications.error('Failure', err, 'Unable to retrieve application settings');
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
},
|
||||
views: {
|
||||
'sidebar@': {
|
||||
templateUrl: './views/sidebar/sidebar.html',
|
||||
controller: 'SidebarController',
|
||||
},
|
||||
},
|
||||
resolve: {
|
||||
featuresServiceInitialized: /* @ngInject */ function featuresServiceInitialized($async, featureService, Notifications) {
|
||||
var root = {
|
||||
name: 'root',
|
||||
abstract: true,
|
||||
onEnter: /* @ngInject */ function onEnter($async, StateManager, Authentication, Notifications, authManager, $rootScope, $state) {
|
||||
return $async(async () => {
|
||||
try {
|
||||
await featureService.init();
|
||||
} catch (e) {
|
||||
Notifications.error('Failed initializing features service', e);
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var endpointRoot = {
|
||||
name: 'endpoint',
|
||||
url: '/:endpointId',
|
||||
parent: 'root',
|
||||
abstract: true,
|
||||
resolve: {
|
||||
endpoint: /* @ngInject */ function endpoint($async, $state, $transition$, EndpointService, Notifications) {
|
||||
return $async(async () => {
|
||||
try {
|
||||
const endpointId = +$transition$.params().endpointId;
|
||||
|
||||
const endpoint = await EndpointService.endpoint(endpointId);
|
||||
if ((endpoint.Type === 4 || endpoint.Type === 7) && !endpoint.EdgeID) {
|
||||
$state.go('portainer.endpoints.endpoint', { id: endpoint.Id });
|
||||
return;
|
||||
}
|
||||
|
||||
return endpoint;
|
||||
} catch (e) {
|
||||
Notifications.error('Failed loading environment', e);
|
||||
$state.go('portainer.home', {}, { reload: true });
|
||||
const appState = StateManager.getState();
|
||||
if (!appState.loading) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const loggedIn = await initAuthentication(authManager, Authentication, $rootScope, $state);
|
||||
await StateManager.initialize();
|
||||
if (!loggedIn && isTransitionRequiresAuthentication($state.transition)) {
|
||||
$state.go('portainer.logout');
|
||||
return Promise.reject('Unauthenticated');
|
||||
}
|
||||
} catch (err) {
|
||||
Notifications.error('Failure', err, 'Unable to retrieve application settings');
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var portainer = {
|
||||
name: 'portainer',
|
||||
parent: 'root',
|
||||
abstract: true,
|
||||
};
|
||||
|
||||
var account = {
|
||||
name: 'portainer.account',
|
||||
url: '/account',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/account/account.html',
|
||||
controller: 'AccountController',
|
||||
views: {
|
||||
'sidebar@': {
|
||||
templateUrl: './views/sidebar/sidebar.html',
|
||||
controller: 'SidebarController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var authentication = {
|
||||
name: 'portainer.auth',
|
||||
url: '/auth',
|
||||
params: {
|
||||
reload: false,
|
||||
},
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/auth/auth.html',
|
||||
controller: 'AuthenticationController',
|
||||
controllerAs: 'ctrl',
|
||||
resolve: {
|
||||
featuresServiceInitialized: /* @ngInject */ function featuresServiceInitialized($async, featureService, Notifications) {
|
||||
return $async(async () => {
|
||||
try {
|
||||
await featureService.init();
|
||||
} catch (e) {
|
||||
Notifications.error('Failed initializing features service', e);
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
'sidebar@': {},
|
||||
},
|
||||
};
|
||||
const logout = {
|
||||
name: 'portainer.logout',
|
||||
url: '/logout',
|
||||
params: {
|
||||
error: '',
|
||||
performApiLogout: false,
|
||||
},
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/logout/logout.html',
|
||||
controller: 'LogoutController',
|
||||
controllerAs: 'ctrl',
|
||||
};
|
||||
|
||||
var endpointRoot = {
|
||||
name: 'endpoint',
|
||||
url: '/:endpointId',
|
||||
parent: 'root',
|
||||
abstract: true,
|
||||
resolve: {
|
||||
endpoint: /* @ngInject */ function endpoint($async, $state, $transition$, EndpointService, Notifications) {
|
||||
return $async(async () => {
|
||||
try {
|
||||
const endpointId = +$transition$.params().endpointId;
|
||||
|
||||
const endpoint = await EndpointService.endpoint(endpointId);
|
||||
if ((endpoint.Type === 4 || endpoint.Type === 7) && !endpoint.EdgeID) {
|
||||
$state.go('portainer.endpoints.endpoint', { id: endpoint.Id });
|
||||
return;
|
||||
}
|
||||
|
||||
return endpoint;
|
||||
} catch (e) {
|
||||
Notifications.error('Failed loading environment', e);
|
||||
$state.go('portainer.home', {}, { reload: true });
|
||||
return;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
'sidebar@': {},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var endpoints = {
|
||||
name: 'portainer.endpoints',
|
||||
url: '/endpoints',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/endpoints.html',
|
||||
controller: 'EndpointsController',
|
||||
var portainer = {
|
||||
name: 'portainer',
|
||||
parent: 'root',
|
||||
abstract: true,
|
||||
};
|
||||
|
||||
var account = {
|
||||
name: 'portainer.account',
|
||||
url: '/account',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/account/account.html',
|
||||
controller: 'AccountController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var endpoint = {
|
||||
name: 'portainer.endpoints.endpoint',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/edit/endpoint.html',
|
||||
controller: 'EndpointController',
|
||||
var authentication = {
|
||||
name: 'portainer.auth',
|
||||
url: '/auth',
|
||||
params: {
|
||||
reload: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const endpointKubernetesConfiguration = {
|
||||
name: 'portainer.endpoints.endpoint.kubernetesConfig',
|
||||
url: '/configure',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: '../kubernetes/views/configure/configure.html',
|
||||
controller: 'KubernetesConfigureController',
|
||||
controllerAs: 'ctrl',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/auth/auth.html',
|
||||
controller: 'AuthenticationController',
|
||||
controllerAs: 'ctrl',
|
||||
},
|
||||
'sidebar@': {},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var endpointCreation = {
|
||||
name: 'portainer.endpoints.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/create/createendpoint.html',
|
||||
controller: 'CreateEndpointController',
|
||||
};
|
||||
const logout = {
|
||||
name: 'portainer.logout',
|
||||
url: '/logout',
|
||||
params: {
|
||||
error: '',
|
||||
performApiLogout: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var endpointAccess = {
|
||||
name: 'portainer.endpoints.endpoint.access',
|
||||
url: '/access',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/access/endpointAccess.html',
|
||||
controller: 'EndpointAccessController',
|
||||
controllerAs: 'ctrl',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/logout/logout.html',
|
||||
controller: 'LogoutController',
|
||||
controllerAs: 'ctrl',
|
||||
},
|
||||
'sidebar@': {},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var groups = {
|
||||
name: 'portainer.groups',
|
||||
url: '/groups',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/groups.html',
|
||||
controller: 'GroupsController',
|
||||
var endpoints = {
|
||||
name: 'portainer.endpoints',
|
||||
url: '/endpoints',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/endpoints.html',
|
||||
controller: 'EndpointsController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var group = {
|
||||
name: 'portainer.groups.group',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/edit/group.html',
|
||||
controller: 'GroupController',
|
||||
var endpoint = {
|
||||
name: 'portainer.endpoints.endpoint',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/edit/endpoint.html',
|
||||
controller: 'EndpointController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var groupCreation = {
|
||||
name: 'portainer.groups.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/create/creategroup.html',
|
||||
controller: 'CreateGroupController',
|
||||
var k8sendpoint = {
|
||||
name: 'portainer.k8sendpoint',
|
||||
url: '/:id',
|
||||
};
|
||||
|
||||
const endpointKubernetesConfiguration = {
|
||||
name: 'portainer.k8sendpoint.kubernetesConfig',
|
||||
url: '/configure',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: '../kubernetes/views/configure/configure.html',
|
||||
controller: 'KubernetesConfigureController',
|
||||
controllerAs: 'ctrl',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var groupAccess = {
|
||||
name: 'portainer.groups.group.access',
|
||||
url: '/access',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/access/groupAccess.html',
|
||||
controller: 'GroupAccessController',
|
||||
var endpointCreation = {
|
||||
name: 'portainer.endpoints.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/create/createendpoint.html',
|
||||
controller: 'CreateEndpointController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var home = {
|
||||
name: 'portainer.home',
|
||||
url: '/home',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/home/home.html',
|
||||
controller: 'HomeController',
|
||||
var endpointAccess = {
|
||||
name: 'portainer.endpoints.endpoint.access',
|
||||
url: '/access',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/endpoints/access/endpointAccess.html',
|
||||
controller: 'EndpointAccessController',
|
||||
controllerAs: 'ctrl',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var init = {
|
||||
name: 'portainer.init',
|
||||
abstract: true,
|
||||
url: '/init',
|
||||
views: {
|
||||
'sidebar@': {},
|
||||
},
|
||||
};
|
||||
|
||||
const wizard = {
|
||||
name: 'portainer.wizard',
|
||||
url: '/wizard',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'wizardView',
|
||||
var groups = {
|
||||
name: 'portainer.groups',
|
||||
url: '/groups',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/groups.html',
|
||||
controller: 'GroupsController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const wizardEndpoints = {
|
||||
name: 'portainer.wizard.endpoints',
|
||||
url: '/endpoints',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'wizardEndpoints',
|
||||
var group = {
|
||||
name: 'portainer.groups.group',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/edit/group.html',
|
||||
controller: 'GroupController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var initEndpoint = {
|
||||
name: 'portainer.init.endpoint',
|
||||
url: '/endpoint',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/init/endpoint/initEndpoint.html',
|
||||
controller: 'InitEndpointController',
|
||||
controllerAs: 'ctrl',
|
||||
var groupCreation = {
|
||||
name: 'portainer.groups.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/create/creategroup.html',
|
||||
controller: 'CreateGroupController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var initAdmin = {
|
||||
name: 'portainer.init.admin',
|
||||
url: '/admin',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/init/admin/initAdmin.html',
|
||||
controller: 'InitAdminController',
|
||||
var groupAccess = {
|
||||
name: 'portainer.groups.group.access',
|
||||
url: '/access',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/groups/access/groupAccess.html',
|
||||
controller: 'GroupAccessController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var registries = {
|
||||
name: 'portainer.registries',
|
||||
url: '/registries',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/registries/registries.html',
|
||||
controller: 'RegistriesController',
|
||||
var home = {
|
||||
name: 'portainer.home',
|
||||
url: '/home',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/home/home.html',
|
||||
controller: 'HomeController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var registry = {
|
||||
name: 'portainer.registries.registry',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/registries/edit/registry.html',
|
||||
controller: 'RegistryController',
|
||||
var init = {
|
||||
name: 'portainer.init',
|
||||
abstract: true,
|
||||
url: '/init',
|
||||
views: {
|
||||
'sidebar@': {},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const registryCreation = {
|
||||
name: 'portainer.registries.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'createRegistry',
|
||||
const wizard = {
|
||||
name: 'portainer.wizard',
|
||||
url: '/wizard',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'wizardView',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var settings = {
|
||||
name: 'portainer.settings',
|
||||
url: '/settings',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/settings/settings.html',
|
||||
controller: 'SettingsController',
|
||||
const wizardEndpoints = {
|
||||
name: 'portainer.wizard.endpoints',
|
||||
url: '/endpoints',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'wizardEndpoints',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var settingsAuthentication = {
|
||||
name: 'portainer.settings.authentication',
|
||||
url: '/auth',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/settings/authentication/settingsAuthentication.html',
|
||||
controller: 'SettingsAuthenticationController',
|
||||
var initEndpoint = {
|
||||
name: 'portainer.init.endpoint',
|
||||
url: '/endpoint',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/init/endpoint/initEndpoint.html',
|
||||
controller: 'InitEndpointController',
|
||||
controllerAs: 'ctrl',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var tags = {
|
||||
name: 'portainer.tags',
|
||||
url: '/tags',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/tags/tags.html',
|
||||
controller: 'TagsController',
|
||||
var initAdmin = {
|
||||
name: 'portainer.init.admin',
|
||||
url: '/admin',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/init/admin/initAdmin.html',
|
||||
controller: 'InitAdminController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var users = {
|
||||
name: 'portainer.users',
|
||||
url: '/users',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/users/users.html',
|
||||
controller: 'UsersController',
|
||||
var registries = {
|
||||
name: 'portainer.registries',
|
||||
url: '/registries',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/registries/registries.html',
|
||||
controller: 'RegistriesController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var user = {
|
||||
name: 'portainer.users.user',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/users/edit/user.html',
|
||||
controller: 'UserController',
|
||||
var registry = {
|
||||
name: 'portainer.registries.registry',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/registries/edit/registry.html',
|
||||
controller: 'RegistryController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var teams = {
|
||||
name: 'portainer.teams',
|
||||
url: '/teams',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/teams/teams.html',
|
||||
controller: 'TeamsController',
|
||||
const registryCreation = {
|
||||
name: 'portainer.registries.new',
|
||||
url: '/new',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'createRegistry',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
var team = {
|
||||
name: 'portainer.teams.team',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/teams/edit/team.html',
|
||||
controller: 'TeamController',
|
||||
var settings = {
|
||||
name: 'portainer.settings',
|
||||
url: '/settings',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/settings/settings.html',
|
||||
controller: 'SettingsController',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
$stateRegistryProvider.register(root);
|
||||
$stateRegistryProvider.register(endpointRoot);
|
||||
$stateRegistryProvider.register(portainer);
|
||||
$stateRegistryProvider.register(account);
|
||||
$stateRegistryProvider.register(authentication);
|
||||
$stateRegistryProvider.register(logout);
|
||||
$stateRegistryProvider.register(endpoints);
|
||||
$stateRegistryProvider.register(endpoint);
|
||||
$stateRegistryProvider.register(endpointAccess);
|
||||
$stateRegistryProvider.register(endpointCreation);
|
||||
$stateRegistryProvider.register(endpointKubernetesConfiguration);
|
||||
$stateRegistryProvider.register(groups);
|
||||
$stateRegistryProvider.register(group);
|
||||
$stateRegistryProvider.register(groupAccess);
|
||||
$stateRegistryProvider.register(groupCreation);
|
||||
$stateRegistryProvider.register(home);
|
||||
$stateRegistryProvider.register(init);
|
||||
$stateRegistryProvider.register(wizard);
|
||||
$stateRegistryProvider.register(wizardEndpoints);
|
||||
$stateRegistryProvider.register(initEndpoint);
|
||||
$stateRegistryProvider.register(initAdmin);
|
||||
$stateRegistryProvider.register(registries);
|
||||
$stateRegistryProvider.register(registry);
|
||||
$stateRegistryProvider.register(registryCreation);
|
||||
$stateRegistryProvider.register(settings);
|
||||
$stateRegistryProvider.register(settingsAuthentication);
|
||||
$stateRegistryProvider.register(tags);
|
||||
$stateRegistryProvider.register(users);
|
||||
$stateRegistryProvider.register(user);
|
||||
$stateRegistryProvider.register(teams);
|
||||
$stateRegistryProvider.register(team);
|
||||
},
|
||||
]);
|
||||
var settingsAuthentication = {
|
||||
name: 'portainer.settings.authentication',
|
||||
url: '/auth',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/settings/authentication/settingsAuthentication.html',
|
||||
controller: 'SettingsAuthenticationController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var tags = {
|
||||
name: 'portainer.tags',
|
||||
url: '/tags',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/tags/tags.html',
|
||||
controller: 'TagsController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var users = {
|
||||
name: 'portainer.users',
|
||||
url: '/users',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/users/users.html',
|
||||
controller: 'UsersController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var user = {
|
||||
name: 'portainer.users.user',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/users/edit/user.html',
|
||||
controller: 'UserController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var teams = {
|
||||
name: 'portainer.teams',
|
||||
url: '/teams',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/teams/teams.html',
|
||||
controller: 'TeamsController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var team = {
|
||||
name: 'portainer.teams.team',
|
||||
url: '/:id',
|
||||
views: {
|
||||
'content@': {
|
||||
templateUrl: './views/teams/edit/team.html',
|
||||
controller: 'TeamController',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
$stateRegistryProvider.register(root);
|
||||
$stateRegistryProvider.register(endpointRoot);
|
||||
$stateRegistryProvider.register(portainer);
|
||||
$stateRegistryProvider.register(account);
|
||||
$stateRegistryProvider.register(authentication);
|
||||
$stateRegistryProvider.register(logout);
|
||||
$stateRegistryProvider.register(endpoints);
|
||||
$stateRegistryProvider.register(endpoint);
|
||||
$stateRegistryProvider.register(k8sendpoint);
|
||||
$stateRegistryProvider.register(endpointAccess);
|
||||
$stateRegistryProvider.register(endpointCreation);
|
||||
$stateRegistryProvider.register(endpointKubernetesConfiguration);
|
||||
$stateRegistryProvider.register(groups);
|
||||
$stateRegistryProvider.register(group);
|
||||
$stateRegistryProvider.register(groupAccess);
|
||||
$stateRegistryProvider.register(groupCreation);
|
||||
$stateRegistryProvider.register(home);
|
||||
$stateRegistryProvider.register(init);
|
||||
$stateRegistryProvider.register(wizard);
|
||||
$stateRegistryProvider.register(wizardEndpoints);
|
||||
$stateRegistryProvider.register(initEndpoint);
|
||||
$stateRegistryProvider.register(initAdmin);
|
||||
$stateRegistryProvider.register(registries);
|
||||
$stateRegistryProvider.register(registry);
|
||||
$stateRegistryProvider.register(registryCreation);
|
||||
$stateRegistryProvider.register(settings);
|
||||
$stateRegistryProvider.register(settingsAuthentication);
|
||||
$stateRegistryProvider.register(tags);
|
||||
$stateRegistryProvider.register(users);
|
||||
$stateRegistryProvider.register(user);
|
||||
$stateRegistryProvider.register(teams);
|
||||
$stateRegistryProvider.register(team);
|
||||
},
|
||||
]);
|
||||
|
||||
function isTransitionRequiresAuthentication(transition) {
|
||||
const UNAUTHENTICATED_ROUTES = ['portainer.logout', 'portainer.auth'];
|
||||
|
|
|
@ -164,7 +164,7 @@ angular
|
|||
EndpointService.createLocalKubernetesEndpoint(name, tagIds)
|
||||
.then(function success(result) {
|
||||
Notifications.success('Environment created', name);
|
||||
$state.go('portainer.endpoints.endpoint.kubernetesConfig', { id: result.Id });
|
||||
$state.go('portainer.k8sendpoint.kubernetesConfig', { id: result.Id });
|
||||
})
|
||||
.catch(function error(err) {
|
||||
Notifications.error('Failure', err, 'Unable to create environment');
|
||||
|
@ -263,7 +263,7 @@ angular
|
|||
$state.go('portainer.endpoints.endpoint', { id: endpoint.Id });
|
||||
break;
|
||||
case PortainerEndpointTypes.AgentOnKubernetesEnvironment:
|
||||
$state.go('portainer.endpoints.endpoint.kubernetesConfig', { id: endpoint.Id });
|
||||
$state.go('portainer.k8sendpoint.kubernetesConfig', { id: endpoint.Id });
|
||||
break;
|
||||
default:
|
||||
$state.go('portainer.endpoints', {}, { reload: true });
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
<span class="small text-muted">
|
||||
<i class="fa fa-tools blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||
You should configure the features available in this Kubernetes environment in the
|
||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: endpoint.Id})">Kubernetes configuration</a> view.
|
||||
<a ui-sref="portainer.k8sendpoint.kubernetesConfig({id: endpoint.Id})">Kubernetes configuration</a> view.
|
||||
</span>
|
||||
</information-panel>
|
||||
</div>
|
||||
|
|
|
@ -95,7 +95,7 @@ class InitEndpointController {
|
|||
try {
|
||||
this.state.actionInProgress = true;
|
||||
const endpoint = await this.EndpointService.createLocalKubernetesEndpoint();
|
||||
this.$state.go('portainer.endpoints.endpoint.kubernetesConfig', { id: endpoint.Id });
|
||||
this.$state.go('portainer.k8sendpoint.kubernetesConfig', { id: endpoint.Id });
|
||||
} catch (err) {
|
||||
this.Notifications.error('Failure', err, 'Unable to connect to the Kubernetes environment');
|
||||
} finally {
|
||||
|
@ -131,7 +131,7 @@ class InitEndpointController {
|
|||
null,
|
||||
null
|
||||
);
|
||||
const routeName = endpoint.Type === PortainerEndpointTypes.AgentOnKubernetesEnvironment ? 'portainer.endpoints.endpoint.kubernetesConfig' : 'portainer.home';
|
||||
const routeName = endpoint.Type === PortainerEndpointTypes.AgentOnKubernetesEnvironment ? 'portainer.k8sendpoint.kubernetesConfig' : 'portainer.home';
|
||||
this.$state.go(routeName, { id: endpoint.Id });
|
||||
} catch (err) {
|
||||
this.Notifications.error('Failure', err, 'Unable to connect to the Docker environment');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue