vault/ui/app/app.js
2025-07-22 11:57:24 -06:00

164 lines
3.9 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Application from '@ember/application';
import Resolver from 'ember-resolver';
import loadInitializers from 'ember-load-initializers';
import config from 'vault/config/environment';
export default class App extends Application {
modulePrefix = config.modulePrefix;
podModulePrefix = config.podModulePrefix;
Resolver = Resolver;
engines = {
'config-ui': {
dependencies: {
services: [
'auth',
'flash-messages',
'namespace',
{ 'app-router': 'router' },
'pagination',
'version',
'custom-messages',
'api',
'capabilities',
],
},
},
'open-api-explorer': {
dependencies: {
services: ['auth', 'flash-messages', 'namespace', { 'app-router': 'router' }, 'version'],
},
},
replication: {
dependencies: {
services: [
'auth',
'capabilities',
'flash-messages',
'namespace',
'replication-mode',
{ 'app-router': 'router' },
'store',
'version',
'-portal',
],
externalRoutes: {
replication: 'vault.cluster.replication.index',
vault: 'vault.cluster',
},
},
},
kmip: {
dependencies: {
services: [
'auth',
'download',
'flash-messages',
'namespace',
'path-help',
{ 'app-router': 'router' },
'store',
'pagination',
'version',
'secret-mount-path',
],
externalRoutes: {
secrets: 'vault.cluster.secrets.backends',
},
},
},
kubernetes: {
dependencies: {
services: [{ 'app-router': 'router' }, 'store', 'secret-mount-path', 'flash-messages'],
externalRoutes: {
secrets: 'vault.cluster.secrets.backends',
},
},
},
ldap: {
dependencies: {
services: [
{ 'app-router': 'router' },
'store',
'pagination',
'secret-mount-path',
'flash-messages',
'auth',
],
externalRoutes: {
secrets: 'vault.cluster.secrets.backends',
},
},
},
kv: {
dependencies: {
services: [
'capabilities',
'control-group',
'download',
'flash-messages',
'namespace',
{ 'app-router': 'router' },
'secret-mount-path',
'store',
'pagination',
'version',
],
externalRoutes: {
secrets: 'vault.cluster.secrets.backends',
syncDestination: 'vault.cluster.sync.secrets.destinations.destination',
},
},
},
pki: {
dependencies: {
services: [
'auth',
'download',
'flash-messages',
'namespace',
'path-help',
{ 'app-router': 'router' },
'secret-mount-path',
'store',
'pagination',
'version',
],
externalRoutes: {
secrets: 'vault.cluster.secrets.backends',
externalMountIssuer: 'vault.cluster.secrets.backend.pki.issuers.issuer.details',
secretsListRootConfiguration: 'vault.cluster.secrets.backend.configuration',
},
},
},
sync: {
dependencies: {
services: [
'flash-messages',
'flags',
{ 'app-router': 'router' },
'store',
'api',
'capabilities',
'pagination',
'version',
],
externalRoutes: {
kvSecretOverview: 'vault.cluster.secrets.backend.kv.secret.index',
clientCountOverview: 'vault.cluster.clients',
},
},
},
};
}
loadInitializers(App, config.modulePrefix);
/**
* @typedef {import('ember-source/types')} EmberTypes
*/