mirror of
https://github.com/hashicorp/vault.git
synced 2026-02-19 02:49:18 -05:00
* Update kubernetes and kmip breadcrumbs * Add breadcrumbs for non ember engines * LDAP breadcrumbs.. * PKI breadcrumbs.. * Mostly working kv tests * kv data persona tests * Fix remaining kv-workflow test * Route to vault.cluster instead of dashboard * VAULT-41964 Update client count breadcrumb + test * VAULT-41143 Remove user dropdown a11y override * Add test for nav links on community * Ensure we check for enterprise * Address feedback * Use selector instead Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
200 lines
5.8 KiB
JavaScript
200 lines
5.8 KiB
JavaScript
/**
|
|
* Copyright IBM Corp. 2016, 2025
|
|
* 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' },
|
|
'version',
|
|
'custom-messages',
|
|
'api',
|
|
'capabilities',
|
|
// services needed for tools sidebar component
|
|
'permissions',
|
|
'current-cluster',
|
|
'-portal',
|
|
],
|
|
externalRoutes: {
|
|
vault: 'vault.cluster',
|
|
tool: 'vault.cluster.tools.tool',
|
|
messages: 'vault.cluster.config-ui.messages',
|
|
openApiExplorer: 'vault.cluster.tools.open-api-explorer',
|
|
loginSettings: 'vault.cluster.config-ui.login-settings',
|
|
},
|
|
},
|
|
},
|
|
'open-api-explorer': {
|
|
dependencies: {
|
|
services: ['auth', 'flash-messages', 'namespace', { 'app-router': 'router' }, 'version'],
|
|
externalRoutes: { vault: 'vault.cluster' },
|
|
},
|
|
},
|
|
replication: {
|
|
dependencies: {
|
|
services: [
|
|
'auth',
|
|
'capabilities',
|
|
'flash-messages',
|
|
'namespace',
|
|
'replication-mode',
|
|
{ 'app-router': 'router' },
|
|
'store',
|
|
'version',
|
|
// services needed for tools sidebar component
|
|
'permissions',
|
|
'current-cluster',
|
|
'flags',
|
|
'-portal',
|
|
'control-group',
|
|
],
|
|
externalRoutes: {
|
|
replication: 'vault.cluster.replication.index',
|
|
vault: 'vault.cluster',
|
|
recoverySnapshots: 'vault.cluster.recovery.snapshots',
|
|
settingsSeal: 'vault.cluster.settings.seal',
|
|
replicationMode: 'vault.cluster.replication.mode',
|
|
},
|
|
},
|
|
},
|
|
kmip: {
|
|
dependencies: {
|
|
services: [
|
|
'api',
|
|
'auth',
|
|
'capabilities',
|
|
'download',
|
|
'flash-messages',
|
|
'namespace',
|
|
'path-help',
|
|
{ 'app-router': 'router' },
|
|
'version',
|
|
'secret-mount-path',
|
|
],
|
|
externalRoutes: {
|
|
secrets: 'vault.cluster.secrets.backends',
|
|
vault: 'vault.cluster',
|
|
secretsGeneralSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.general-settings',
|
|
},
|
|
},
|
|
},
|
|
kubernetes: {
|
|
dependencies: {
|
|
services: [{ 'app-router': 'router' }, 'secret-mount-path', 'flash-messages', 'api', 'capabilities'],
|
|
externalRoutes: {
|
|
secrets: 'vault.cluster.secrets.backends',
|
|
secretsGeneralSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.general-settings',
|
|
vault: 'vault.cluster',
|
|
},
|
|
},
|
|
},
|
|
ldap: {
|
|
dependencies: {
|
|
services: [
|
|
{ 'app-router': 'router' },
|
|
'secret-mount-path',
|
|
'flash-messages',
|
|
'auth',
|
|
'api',
|
|
'capabilities',
|
|
],
|
|
externalRoutes: {
|
|
vault: 'vault.cluster',
|
|
secrets: 'vault.cluster.secrets.backends',
|
|
secretsGeneralSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.general-settings',
|
|
secretsPluginSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.plugin-settings',
|
|
},
|
|
},
|
|
},
|
|
kv: {
|
|
dependencies: {
|
|
services: [
|
|
'api',
|
|
'capabilities',
|
|
'control-group',
|
|
'download',
|
|
'flash-messages',
|
|
'namespace',
|
|
{ 'app-router': 'router' },
|
|
'secret-mount-path',
|
|
'version',
|
|
],
|
|
externalRoutes: {
|
|
vault: 'vault.cluster',
|
|
secrets: 'vault.cluster.secrets.backends',
|
|
syncDestination: 'vault.cluster.sync.secrets.destinations.destination',
|
|
secretsGeneralSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.general-settings',
|
|
},
|
|
},
|
|
},
|
|
pki: {
|
|
dependencies: {
|
|
services: [
|
|
'api',
|
|
'auth',
|
|
'capabilities',
|
|
'download',
|
|
'flash-messages',
|
|
'namespace',
|
|
'path-help',
|
|
{ 'app-router': 'router' },
|
|
'secret-mount-path',
|
|
'version',
|
|
],
|
|
externalRoutes: {
|
|
vault: 'vault.cluster',
|
|
secrets: 'vault.cluster.secrets.backends',
|
|
externalMountIssuer: 'vault.cluster.secrets.backend.pki.issuers.issuer.details',
|
|
secretsListRootConfiguration: 'vault.cluster.secrets.backend.configuration',
|
|
secretsGeneralSettingsConfiguration: 'vault.cluster.secrets.backend.configuration.general-settings',
|
|
},
|
|
},
|
|
},
|
|
sync: {
|
|
dependencies: {
|
|
services: [
|
|
'flash-messages',
|
|
'flags',
|
|
{ 'app-router': 'router' },
|
|
'store',
|
|
'api',
|
|
'capabilities',
|
|
'version',
|
|
// services needed for Secrets sidebar component
|
|
'current-cluster',
|
|
'permissions',
|
|
'-portal',
|
|
'namespace',
|
|
],
|
|
externalRoutes: {
|
|
kvSecretOverview: 'vault.cluster.secrets.backend.kv.secret.index',
|
|
clientCountOverview: 'vault.cluster.clients',
|
|
// routes needed for Secrets sidebar component
|
|
secrets: 'vault.cluster.secrets',
|
|
sync: 'vault.cluster.sync',
|
|
vault: 'vault.cluster',
|
|
},
|
|
},
|
|
},
|
|
};
|
|
}
|
|
|
|
loadInitializers(App, config.modulePrefix);
|
|
|
|
/**
|
|
* @typedef {import('ember-source/types')} EmberTypes
|
|
*/
|