5c2a08de6d
* Update browserslist * Add browserslistrc * ember-cli-update --to 3.26, fix conflicts * Run codemodes that start with ember-* * More codemods - before cp* * More codemods (curly data-test-*) * WIP ember-basic-dropdown template errors * updates ember-basic-dropdown and related deps to fix build issues * updates basic dropdown instances to new version API * updates more deps -- ember-template-lint is working again * runs no-implicit-this codemod * creates and runs no-quoteless-attributes codemod * runs angle brackets codemod * updates lint:hbs globs to only touch hbs files * removes yield only templates * creates and runs deprecated args transform * supresses lint error for invokeAction on LinkTo component * resolves remaining ambiguous path lint errors * resolves simple-unless lint errors * adds warnings for deprecated tagName arg on LinkTo components * adds warnings for remaining curly component invocation * updates global template lint rules * resolves remaining template lint errors * disables some ember specfic lint rules that target pre octane patterns * js lint fix run * resolves remaining js lint errors * fixes test run * adds npm-run-all dep * fixes test attribute issues * fixes console acceptance tests * fixes tests * adds yield only wizard/tutorial-active template * fixes more tests * attempts to fix more flaky tests * removes commented out settled in transit test * updates deprecations workflow and adds initializer to filter by version * updates flaky policies acl old test * updates to flaky transit test * bumps ember deps down to LTS version * runs linters after main merge * fixes client count tests after bad merge conflict fixes * fixes client count history test * more updates to lint config * another round of hbs lint fixes after extending stylistic rule * updates lint-staged commands * removes indent eslint rule since it seems to break things * fixes bad attribute in transform-edit-form template * test fixes * fixes enterprise tests * adds changelog * removes deprecated ember-concurrency-test-waiters dep and adds @ember/test-waiters * flaky test fix Co-authored-by: hashishaw <cshaw@hashicorp.com>
178 lines
5.3 KiB
JavaScript
178 lines
5.3 KiB
JavaScript
import { supportedSecretBackends } from 'vault/helpers/supported-secret-backends';
|
|
const supportedBackends = supportedSecretBackends();
|
|
|
|
export default {
|
|
key: 'secrets',
|
|
initial: 'idle',
|
|
on: {
|
|
RESET: 'idle',
|
|
DONE: 'complete',
|
|
ERROR: 'error',
|
|
},
|
|
states: {
|
|
idle: {
|
|
onEntry: [
|
|
{ type: 'routeTransition', params: ['vault.cluster.settings.mount-secret-backend'] },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-idle' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'enable',
|
|
},
|
|
},
|
|
enable: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-enable' },
|
|
],
|
|
on: {
|
|
CONTINUE: {
|
|
details: { cond: (type) => supportedBackends.includes(type) },
|
|
list: { cond: (type) => !supportedBackends.includes(type) },
|
|
},
|
|
},
|
|
},
|
|
details: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-details' },
|
|
],
|
|
on: {
|
|
CONTINUE: {
|
|
connection: {
|
|
cond: (type) => type === 'database',
|
|
},
|
|
role: {
|
|
cond: (type) => ['pki', 'aws', 'ssh'].includes(type),
|
|
},
|
|
secret: {
|
|
cond: (type) => ['kv'].includes(type),
|
|
},
|
|
encryption: {
|
|
cond: (type) => type === 'transit',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
connection: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-connection' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'displayConnection',
|
|
},
|
|
},
|
|
encryption: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-encryption' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'display',
|
|
},
|
|
},
|
|
credentials: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-credentials' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'display',
|
|
},
|
|
},
|
|
role: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-role' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'displayRole',
|
|
},
|
|
},
|
|
displayRole: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-display-role' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'credentials',
|
|
},
|
|
},
|
|
displayConnection: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-connection-show' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'displayRoleDatabase',
|
|
},
|
|
},
|
|
displayRoleDatabase: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-display-database-role' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'display',
|
|
},
|
|
},
|
|
secret: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-secret' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'display',
|
|
},
|
|
},
|
|
display: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-display' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
REPEAT: {
|
|
connection: {
|
|
cond: (type) => type === 'database',
|
|
actions: [{ type: 'routeTransition', params: ['vault.cluster.secrets.backend.create-root'] }],
|
|
},
|
|
role: {
|
|
cond: (type) => ['pki', 'aws', 'ssh'].includes(type),
|
|
actions: [{ type: 'routeTransition', params: ['vault.cluster.secrets.backend.create-root'] }],
|
|
},
|
|
secret: {
|
|
cond: (type) => ['kv'].includes(type),
|
|
actions: [{ type: 'routeTransition', params: ['vault.cluster.secrets.backend.create-root'] }],
|
|
},
|
|
encryption: {
|
|
cond: (type) => type === 'transit',
|
|
actions: [{ type: 'routeTransition', params: ['vault.cluster.secrets.backend.create-root'] }],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
list: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/secrets-list' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'display',
|
|
},
|
|
},
|
|
error: {
|
|
onEntry: [
|
|
{ type: 'render', level: 'step', component: 'wizard/tutorial-error' },
|
|
{ type: 'render', level: 'feature', component: 'wizard/mounts-wizard' },
|
|
],
|
|
on: {
|
|
CONTINUE: 'complete',
|
|
},
|
|
},
|
|
complete: {
|
|
onEntry: ['completeFeature'],
|
|
},
|
|
},
|
|
};
|