Environment configuration keys
The contract is src/environments/environment.interface.ts — 33 keys, the only
tracked file in that folder. The generated environment*.ts files are `.gitignore`d.
Generation chain and the four-step process for adding a key: environments.
Backend base URLs
IEnvironment key |
Shell variable | Dev value | Production value |
|---|---|---|---|
|
|
||
|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
|
|
|
|
||
|
|
|
Services hosted per environment interpolate |
Which service uses which base URL: services and endpoints. What each backend does: the integration landscape.
Behaviour and identity
| Key | Source | Notes |
|---|---|---|
|
derived |
|
|
derived |
|
|
|
Evaluated in the browser, not baked in as a literal. Shown in the sidebar and on the login screen. |
|
|
First 40 characters. |
|
|
ISO to the minute. |
|
|
Used for the EVA cookie domain and iframe origin checks. |
|
hardcoded |
Sent as |
|
|
Dev: computed by |
Error display
| Key | Value | Effect |
|---|---|---|
|
hardcoded |
|
|
hardcoded |
Read but never used — |
See error handling.
Third-party keys
| Key | Source | Notes |
|---|---|---|
|
hardcoded in |
|
|
hardcoded in |
Identical in every environment. No Sentry SDK is installed and no code reads this. See observability. |
|
|
Dev |
Feature flags
| Key | Behaviour |
|---|---|
|
|
Format: comma-separated, no spaces. An empty string disables all build flags. See feature flags and the flag catalogue.
Supplier sites
| Key | Value |
|---|---|
|
A hardcoded array in |
These are the white-label self-service front ends. SupplierDetailsModel.supplierSite
names which one a supplier uses. In test environments only supplier and
supplier4 are valid login-as-supplier targets
(messageCodes.inTestEnvironmentsCanOnlyTo).
A partly overlapping list drives the noindex meta tag in AppModule:
volusion, pro, lendio, neweggcapital, morecommerce, crm2, c2fo.
Reading configuration
Always through AppConfigService:
constructor(private appConfig: AppConfigService) {
this.apiUrl = appConfig.env.internalApiUrl;
}
Services that still import environment directly (legacy; do not extend):
EventsService, EvaService, LookupRepository, PendingReviewService,
FeatureFlagsService, GatewayService, MarketplaceRepository,
VpnTesterService, CommunicationService, VersionService,
FeatureFlagsGeneralGuard, storeDebugger, main.ts.
Adding a key — the four files
-
src/environments/environment.interface.ts— add toIEnvironment. -
deployment/setup_template-dev.cfg—exportthe shell variable. -
deployment/setup_template-production.cfg— same. -
deployment/set-env.ts— add the field to the generated template literal.
Then ./deployment/setenv.sh <env> to regenerate locally.
|
Skipping step 2 or 3 gives you a working local value and |
Dead configuration
| Item | Status |
|---|---|
|
Not sourced by |
|
Configured, never read. |
|
Read, never acted on. |
Commented-out |
Removed in |