* test: 💍 clean up worker filter component tests (#2559) * Icu 15741 add show filter generator toggle to worker filter component (#2562) * feat: 🎸 add filter generator to worker filter component ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15741 * feat: 🎸 show add worker filter when none set for targets (#2564) ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15760 * Icu 15743 tag workflow (#2565) * feat: 🎸 add tag generator workflow ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15743 * test: 💍 add test cases ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15743 * refactor: 💡 update selected type name to selectedGeneratorType ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15743 * Apply suggestions from code review minor translation change Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com> * refactor: 💡 update id for generated-value ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15743 --------- Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com> Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com> * Icu 15744 name workflow (#2566) * feat: 🎸 add name workflow ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15744 * test: 💍 add "name" workflow tests for filter generator ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15744 * refactor: 💡 use const test selectors for filter generator ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15744 * refactor: 💡 add default option ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15744 * docs: ✏️ fix comment ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15744 --------- Co-authored-by: cameronperera <cameron.perera@hashicorp.com> * refactor: 💡 move worker filter generator outside of rose::form (#2574) * refactor: 💡 move worker filter generator outside of rose::form * [ICU-15718] Add worker filter route, template for empty state (#2576) * feat: 🎸 Vault Credential Store Worker Filter The Worker Filters tab will display the associated worker filter and have an empty state for when there is no worker filter assigned. * add template * Add missing copyright headers * update styling, remove Rose component * color primary is already default, remove * add rose component, remove custom css * fix test * singularize lang --------- Co-authored-by: laurenolivia <laurenolivia@users.noreply.github.com> * feat: 🎸 update worker filter field to use code editor (#2578) * feat: 🎸 update worker filter field to use code editor ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15737 * test: 💍 fix failing storage bucket tests ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15737 * test: 💍 update tests for new worker filter field (#2580) * test: 💍 update tests for new worker filter field ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15739 * Update ui/admin/tests/acceptance/storage-buckets/update-test.js Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com> --------- Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com> * [ICU-15719] Create edit worker filter route and template (#2582) * add codeblock to template * add cancel btn fn * add controller test * add save fn * display formatted worker filter text inside codeblock * move codeblock component outside rose::layout::centered * remove console.log * remove router.refresh() and refactor translations yaml * refactor translations, add breadcrumb::item * replace html elements with hds * move component, delete file * [ICU-15720] Add edit worker filter action to manage dropdown (#2593) * add acceptance test file * delete test file * add edit option to manage dropdown * update route in dropdown * add check for model isVault * add acceptance test file * delete test file * remove data test selectors, fix syntax * [ICU-15721] Remove worker filter input field (#2596) * remove worker filter input field from vault credential store form * revert yaml * [ICU-15838] Add vault credential store worker filter tests (#2595) * add data test elements * add subtests to update-test.js * add subtext to check for .hasText() * add subtest when worker filter exists * update subtest name * remove console.log * clean up * add new selectors * refactor: 💡 worker filter clean-up (#2592) * refactor: 💡 worker filter clean-up ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15816 * refactor: 💡 add aria labels & missing can save check ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15816 * refactor: 💡 pr feedback of using uuid ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15816 * Add missing copyright headers * refactor: 💡 use unique-id helper for aria labels (pr feedback) ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15816 --------- Co-authored-by: lisbet-alvarez <lisbet-alvarez@users.noreply.github.com> * refactor: 💡 update icon logic for egress worker filter (#2612) * refactor: 💡 update worker_filter help translation * refactor: 💡 add maxHeight to worker filter code blocks * refactor: 💡 use existing default option for dropdowns * refactor: 💡 hide copy button when no result to copy and remove unused styles --------- Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com> Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com> Co-authored-by: Lauren <lauren.burwell@hashicorp.com> Co-authored-by: laurenolivia <laurenolivia@users.noreply.github.com> Co-authored-by: lisbet-alvarez <lisbet-alvarez@users.noreply.github.com>
207 lines
7.5 KiB
JavaScript
207 lines
7.5 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const v8 = require('v8');
|
|
const {
|
|
defaultEdition,
|
|
featureEditions,
|
|
licensedFeatures,
|
|
} = require('./features');
|
|
|
|
const APP_NAME = process.env.APP_NAME || 'Boundary';
|
|
const API_HOST = process.env.API_HOST || '';
|
|
|
|
const clone = (obj) => v8.deserialize(v8.serialize(obj));
|
|
|
|
module.exports = function (environment) {
|
|
// Start with a fresh copy of the features config every run, since it
|
|
// could be modified by an environment.
|
|
const features = {
|
|
defaultEdition,
|
|
featureEditions: clone(featureEditions),
|
|
licensedFeatures: clone(licensedFeatures),
|
|
};
|
|
|
|
let ENV = {
|
|
modulePrefix: 'admin',
|
|
environment,
|
|
rootURL: '/',
|
|
locationType: 'history',
|
|
EmberENV: {
|
|
EXTEND_PROTOTYPES: false,
|
|
FEATURES: {
|
|
// Here you can enable experimental features on an ember canary build
|
|
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
|
|
},
|
|
},
|
|
|
|
APP: {
|
|
// Here you can pass flags/options to your application instance
|
|
// when it is created
|
|
},
|
|
|
|
api: {
|
|
host: API_HOST,
|
|
namespace: 'v1',
|
|
},
|
|
|
|
appName: APP_NAME,
|
|
companyName: 'HashiCorp',
|
|
|
|
sessionPollingTimeoutSeconds: 300,
|
|
oidcPollingTimeoutSeconds: 1,
|
|
|
|
documentation: {
|
|
baseURL: 'https://developer.hashicorp.com/boundary',
|
|
topics: {
|
|
global: '/docs/concepts/domain-model/scopes#global',
|
|
org: '/docs/concepts/domain-model/scopes#organizations',
|
|
'org.new': '/docs/common-workflows/manage-scopes',
|
|
project: '/docs/concepts/domain-model/scopes#projects',
|
|
'project.new': '/docs/common-workflows/manage-scopes',
|
|
account: '/docs/concepts/domain-model/accounts',
|
|
'account.new':
|
|
'/tutorials/oss-administration/oss-manage-users-groups#create-an-account',
|
|
'auth-method': '/docs/concepts/domain-model/auth-methods',
|
|
'managed-groups': '/docs/concepts/domain-model/managed-groups',
|
|
group: '/docs/concepts/domain-model/groups',
|
|
'group.add-members':
|
|
'/tutorials/oss-administration/oss-manage-users-groups#create-a-group',
|
|
'host-catalog': '/docs/concepts/domain-model/host-catalogs',
|
|
'host-catalog.new': '/docs/common-workflows/manage-targets',
|
|
'host-catalog.azure': '/docs/concepts/host-discovery/azure',
|
|
'host-catalog.aws': '/docs/concepts/host-discovery/aws',
|
|
'host-catalog.aws.region':
|
|
'https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html',
|
|
'host-set': '/docs/concepts/domain-model/host-sets',
|
|
'host-set.new':
|
|
'/docs/common-workflows/manage-targets#define-a-host-set',
|
|
'host-set.add-hosts': '/docs/concepts/domain-model/hosts',
|
|
'host-set.preferred-endpoints':
|
|
'/docs/concepts/domain-model/host-sets#preferred_endpoints',
|
|
'host-set.sync-interval-seconds':
|
|
'/docs/concepts/domain-model/host-sets#sync_interval_seconds',
|
|
'credential-store': '/docs/concepts/domain-model/credential-stores',
|
|
'credential-library':
|
|
'/docs/concepts/domain-model/credential-libraries',
|
|
credential: '/docs/concepts/domain-model/credentials',
|
|
host: '/docs/concepts/domain-model/hosts',
|
|
'host.new': '/docs/common-workflows/manage-targets#define-a-host',
|
|
role: '/docs/concepts/domain-model/roles',
|
|
'role.add-principals':
|
|
'/tutorials/oss-administration/oss-manage-roles#create-a-role',
|
|
'role.add-grant-scopes': '/docs/commands/roles/add-grant-scopes',
|
|
session: '/docs/concepts/domain-model/sessions',
|
|
target: '/docs/concepts/domain-model/targets',
|
|
'target.new': '/docs/common-workflows/manage-targets',
|
|
'target.add-host-sources': '/docs/concepts/domain-model/host-sets',
|
|
'target.enable-session-recording':
|
|
'/docs/configuration/session-recording/enable-session-recording',
|
|
'worker-filters-format':
|
|
'/docs/concepts/filtering/worker-tags#filter-examples',
|
|
user: '/docs/concepts/domain-model/users',
|
|
downloads: '/install',
|
|
'getting-started.desktop':
|
|
'/tutorials/oss-getting-started/oss-getting-started-desktop-app',
|
|
'api-client.cli': '/docs/commands',
|
|
'api-client.api': '/docs/api-clients/api',
|
|
worker: '/docs/configuration/worker',
|
|
'worker.manage-workers':
|
|
'/tutorials/hcp-administration/hcp-manage-workers',
|
|
'worker-filters':
|
|
'/docs/concepts/domain-model/credential-stores#worker_filter',
|
|
'worker.create-tags': '/docs/concepts/filtering/worker-tags',
|
|
'storage-bucket': '/docs/concepts/domain-model/storage-buckets',
|
|
'storage-bucket.new':
|
|
'/docs/configuration/session-recording/create-storage-bucket',
|
|
'storage-bucket.worker-filter':
|
|
'/docs/concepts/domain-model/storage-buckets#worker_filter',
|
|
'storage-bucket.disable-credential-rotation':
|
|
'/docs/concepts/domain-model/storage-buckets#disable_credential_rotation',
|
|
'session-recording': '/docs/concepts/domain-model/session-recordings',
|
|
'session-recording.retrieve-lost-session-recordings':
|
|
'/docs/operations/manage-recorded-sessions',
|
|
'storage-policy': '/docs/concepts/domain-model/storage-policy',
|
|
'storage-policy.new':
|
|
'/docs/configuration/session-recording/configure-storage-policy',
|
|
'storage-policy.update':
|
|
'/docs/configuration/session-recording/update-storage-policy',
|
|
alias: '/docs/concepts/aliases',
|
|
'support-page': 'https://support.hashicorp.com/hc/en-us',
|
|
},
|
|
},
|
|
|
|
'ember-cli-mirage': {
|
|
directory: '../../addons/api/mirage',
|
|
},
|
|
|
|
flashMessageDefaults: {
|
|
timeout: 4000,
|
|
},
|
|
|
|
features: features,
|
|
featureFlags: {},
|
|
};
|
|
|
|
if (environment === 'development') {
|
|
// ENV.APP.LOG_RESOLVER = true;
|
|
// ENV.APP.LOG_ACTIVE_GENERATION = true;
|
|
// ENV.APP.LOG_TRANSITIONS = true;
|
|
// ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
|
|
// ENV.APP.LOG_VIEW_LOOKUPS = true;
|
|
|
|
ENV['ember-cli-mirage'].enabled = process.env.ENABLE_MIRAGE
|
|
? JSON.parse(process.env.ENABLE_MIRAGE)
|
|
: true;
|
|
|
|
ENV['ember-a11y-testing'] = {
|
|
componentOptions: {
|
|
axeOptions: {
|
|
checks: {
|
|
'color-contrast': { options: { noScroll: true } },
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
// Default edition in development
|
|
ENV.features.defaultEdition = 'enterprise';
|
|
// Enable development-only features
|
|
ENV.features.featureEditions.oss['dev-edition-toggle'] = true;
|
|
ENV.features.featureEditions.enterprise['dev-edition-toggle'] = true;
|
|
ENV.features.featureEditions.hcp['dev-edition-toggle'] = true;
|
|
// Enable licensed features by default in enterprise and hcp
|
|
Object.keys(ENV.features.licensedFeatures).forEach((feature) => {
|
|
ENV.features.featureEditions.enterprise[feature] = true;
|
|
ENV.features.featureEditions.hcp[feature] = true;
|
|
});
|
|
}
|
|
|
|
if (environment === 'test') {
|
|
// Testem prefers this...
|
|
ENV.locationType = 'none';
|
|
|
|
// keep test console output quieter
|
|
ENV.APP.LOG_ACTIVE_GENERATION = false;
|
|
ENV.APP.LOG_VIEW_LOOKUPS = false;
|
|
|
|
ENV.APP.rootElement = '#ember-testing';
|
|
ENV.APP.autoboot = false;
|
|
|
|
// Notification timeout should be 0 for fast tests
|
|
ENV.flashMessageDefaults.timeout = 0;
|
|
|
|
ENV.enableConfirmService = false;
|
|
}
|
|
|
|
if (environment === 'production') {
|
|
// here you can enable a production-specific feature
|
|
}
|
|
|
|
return ENV;
|
|
};
|