vault/ui/app/app.js
Jordan Reimer e18b0485f5
[UI] Ember Data Migration - Config UI Engine (#30238)
* WIP updating config-ui engine to use api service and form class

* updates form-field component to support false values for radio types

* updates api-error-message util to log out error in dev env

* fixes issues in custom messages create and edit workflows

* fixes issues in api service

* updates capabilities handling

* updates to custom messages form

* removes store from custom messages tests

* removes store as dependency from config-ui engine

* removes commented out code in messages route

* updates orderedKeys to displayFields in messages page component

* removes unneccesary method var from message create-and-edit component

* removes comment about model in message details page
2025-04-28 16:09:11 -06:00

155 lines
3.8 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', '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
*/