- Product name, app id, installer names, translations, titles -> Threshold - Desktop: look for threshold CLI first, then boundary; migrate legacy Boundary user-data dir; updater/release lookups disabled unless configured - Remove HashiCorp/IBM logos and art (plain placeholder mark), GitHub release workflows and HashiCorp release metadata - Add NOTICE and README 'About this fork' Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
143 lines
4.0 KiB
JavaScript
143 lines
4.0 KiB
JavaScript
/**
|
|
* Copyright IBM Corp. 2021, 2026
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const APP_NAME = process.env.APP_NAME || 'Threshold';
|
|
const locationType = process.env.EMBER_CLI_ELECTRON ? 'hash' : 'history';
|
|
const ENABLE_A11Y_AUDIT = process.env.ENABLE_A11Y_AUDIT || false;
|
|
const COLOR_THEME = process.env.COLOR_THEME ?? 'light';
|
|
|
|
module.exports = function (environment) {
|
|
const ENV = {
|
|
modulePrefix: 'desktop',
|
|
environment,
|
|
rootURL: process.env.EMBER_CLI_ELECTRON ? '' : '/',
|
|
locationType,
|
|
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
|
|
},
|
|
|
|
isElectron: process.env.EMBER_CLI_ELECTRON
|
|
? JSON.parse(process.env.EMBER_CLI_ELECTRON)
|
|
: false,
|
|
|
|
api: {
|
|
// there is no default API host in desktop
|
|
//host: API_HOST,
|
|
namespace: 'v1',
|
|
},
|
|
|
|
appName: APP_NAME,
|
|
|
|
// Threshold has no default release metadata API; set `metadataUrl` to a
|
|
// HashiCorp-releases-API-compatible endpoint to enable direct download links
|
|
// when connecting to an older controller. See README "About this fork".
|
|
releases: {
|
|
metadataUrl: process.env.THRESHOLD_RELEASES_METADATA_URL || '',
|
|
releasesPageUrl:
|
|
process.env.THRESHOLD_RELEASES_PAGE_URL ||
|
|
'https://repo.anhonesthost.net/CyberCoveLLC/threshold-ui/releases',
|
|
},
|
|
|
|
oidcPollingTimeoutSeconds: 1,
|
|
sessionPollingTimeoutSeconds: 2,
|
|
|
|
documentation: {
|
|
baseURL: 'https://developer.hashicorp.com/boundary',
|
|
topics: {
|
|
targets:
|
|
'/tutorials/oss-getting-started/oss-getting-started-desktop-app#connect',
|
|
sessions:
|
|
'/tutorials/oss-getting-started/oss-getting-started-desktop-app#connect',
|
|
'support-page':
|
|
'https://repo.anhonesthost.net/CyberCoveLLC/threshold-ui/issues',
|
|
},
|
|
},
|
|
|
|
flashMessageDefaults: {
|
|
timeout: 4000,
|
|
},
|
|
|
|
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;
|
|
|
|
// This flag tells the origin route to autoset the controller origin field
|
|
// of the UI, which only makes sense in development where the origin is
|
|
// usually the same as the application origin.
|
|
ENV.autoOrigin = true;
|
|
|
|
ENV.mirage = {
|
|
enabled: process.env.ENABLE_MIRAGE
|
|
? JSON.parse(process.env.ENABLE_MIRAGE)
|
|
: true,
|
|
};
|
|
|
|
ENV.ENABLE_A11Y_AUDIT = ENABLE_A11Y_AUDIT;
|
|
ENV.COLOR_THEME = COLOR_THEME;
|
|
}
|
|
|
|
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;
|
|
// OIDC Authentication timeout should be 0 for fast tests
|
|
ENV.oidcPollingTimeoutSeconds = 0;
|
|
// Sessions polling timeout should be 0 for fast tests
|
|
ENV.sessionPollingTimeoutSeconds = 0;
|
|
|
|
ENV.enableConfirmService = false;
|
|
|
|
// Use a non-routable host for mocked release metadata.
|
|
ENV.releases.metadataUrl = 'https://releases-api.threshold.invalid/v1/meta';
|
|
ENV.releases.releasesPageUrl = 'https://releases.threshold.invalid/';
|
|
|
|
// Use in-memory storage
|
|
ENV.storage = {
|
|
memory: true,
|
|
};
|
|
|
|
ENV.ENABLE_A11Y_AUDIT = ENABLE_A11Y_AUDIT;
|
|
ENV.COLOR_THEME = COLOR_THEME;
|
|
|
|
ENV.mirage = {
|
|
enabled: process.env.ENABLE_MIRAGE
|
|
? JSON.parse(process.env.ENABLE_MIRAGE)
|
|
: true,
|
|
};
|
|
}
|
|
|
|
if (environment === 'production') {
|
|
// here you can enable a production-specific feature
|
|
}
|
|
|
|
return ENV;
|
|
};
|