@elastic/synthetics 1.25.0 → 1.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,WAAW,EAAe,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAa9B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAA6B,CAAC;AAM/D,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAQ;gBAEf,MAAM,EAAE,MAAM;IAElC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,qBAAqB;IAWvB,KAAK;IAeX,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;YAyDJ,WAAW;YAuDX,mBAAmB;IAmC3B,IAAI;CAkBX"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,WAAW,EAAe,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAa9B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAA6B,CAAC;AAM/D,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAQ;gBAEf,MAAM,EAAE,MAAM;IAElC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,qBAAqB;IAWvB,KAAK;IAeX,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU,CAuDhB;IAEF,OAAO,CAAC,WAAW,CAqDjB;IAEF,OAAO,CAAC,mBAAmB,CAiCzB;IAEI,IAAI;CAsBX"}
@@ -57,17 +57,22 @@ class NetworkManager {
57
57
  * to not result in exception
58
58
  */
59
59
  _addBarrier(page, promise) {
60
- if (!page)
60
+ if (!page) {
61
+ promise.catch(error => {
62
+ (0, logger_1.log)(`Plugins: failed to collect network metadata: ${error}`);
63
+ });
61
64
  return;
65
+ }
62
66
  const race = Promise.race([
63
- new Promise(resolve => page.on('close', () => {
64
- this._barrierPromises.delete(race);
65
- resolve();
66
- })),
67
+ new Promise(resolve => page.once('close', () => resolve())),
67
68
  promise,
68
69
  ]);
69
70
  this._barrierPromises.add(race);
70
- race.then(() => this._barrierPromises.delete(race));
71
+ race
72
+ .catch(error => {
73
+ (0, logger_1.log)(`Plugins: failed to collect network metadata: ${error}`);
74
+ })
75
+ .finally(() => this._barrierPromises.delete(race));
71
76
  }
72
77
  _nullableFrameBarrier(req) {
73
78
  try {
@@ -89,15 +94,15 @@ class NetworkManager {
89
94
  /**
90
95
  * Listen for all network events from PW context
91
96
  */
92
- context.on('request', this._onRequest.bind(this));
93
- context.on('response', this._onResponse.bind(this));
94
- context.on('requestfinished', this._onRequestCompleted.bind(this));
95
- context.on('requestfailed', this._onRequestCompleted.bind(this));
97
+ context.on('request', this._onRequest);
98
+ context.on('response', this._onResponse);
99
+ context.on('requestfinished', this._onRequestCompleted);
100
+ context.on('requestfailed', this._onRequestCompleted);
96
101
  }
97
102
  _findNetworkEntry(request) {
98
103
  return request[exports.NETWORK_ENTRY_SUMBOL];
99
104
  }
100
- _onRequest(request) {
105
+ _onRequest = (request) => {
101
106
  const url = request.url();
102
107
  /**
103
108
  * Data URI should not show up as network requests
@@ -150,8 +155,8 @@ class NetworkManager {
150
155
  }
151
156
  request[exports.NETWORK_ENTRY_SUMBOL] = networkEntry;
152
157
  this.results.push(networkEntry);
153
- }
154
- async _onResponse(response) {
158
+ };
159
+ _onResponse = async (response) => {
155
160
  const request = response.request();
156
161
  const networkEntry = this._findNetworkEntry(request);
157
162
  if (!networkEntry)
@@ -190,8 +195,8 @@ class NetworkManager {
190
195
  if (details)
191
196
  networkEntry.response.securityDetails = details;
192
197
  }));
193
- }
194
- async _onRequestCompleted(request) {
198
+ };
199
+ _onRequestCompleted = async (request) => {
195
200
  const networkEntry = this._findNetworkEntry(request);
196
201
  if (!networkEntry)
197
202
  return;
@@ -219,8 +224,16 @@ class NetworkManager {
219
224
  bytes: sizes.responseBodySize,
220
225
  };
221
226
  }));
222
- }
227
+ };
223
228
  async stop() {
229
+ /**
230
+ * First detach the listeners so that no new network events are recorded
231
+ */
232
+ const context = this.driver.context;
233
+ context.off('request', this._onRequest);
234
+ context.off('response', this._onResponse);
235
+ context.off('requestfinished', this._onRequestCompleted);
236
+ context.off('requestfailed', this._onRequestCompleted);
224
237
  /**
225
238
  * Waiting for all network events is error prone and might hang the tests
226
239
  * from getting closed forever when there are upstream bugs in browsers or
@@ -229,11 +242,6 @@ class NetworkManager {
229
242
  if (this._barrierPromises.size > 0) {
230
243
  (0, logger_1.log)(`Plugins: dropping ${this._barrierPromises.size} network events`);
231
244
  }
232
- const context = this.driver.context;
233
- context.off('request', this._onRequest.bind(this));
234
- context.off('response', this._onResponse.bind(this));
235
- context.off('requestfinished', this._onRequestCompleted.bind(this));
236
- context.off('requestfailed', this._onRequestCompleted.bind(this));
237
245
  this._barrierPromises.clear();
238
246
  (0, logger_1.log)(`Plugins: stopped collecting network events`);
239
247
  return this.results;
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-local.d.ts","sourceRoot":"","sources":["../../src/push/run-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAgG1C,wBAAsB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,iBA0BtD"}
1
+ {"version":3,"file":"run-local.d.ts","sourceRoot":"","sources":["../../src/push/run-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAyG1C,wBAAsB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,iBA0BtD"}
@@ -68,14 +68,25 @@ async function runNpmInstall(directory) {
68
68
  }
69
69
  async function runTest(directory, schema) {
70
70
  return new Promise((resolve, reject) => {
71
- const runTest = (0, child_process_1.spawn)('npx', [
71
+ const args = [
72
72
  '@elastic/synthetics',
73
73
  '.',
74
74
  '--playwright-options',
75
75
  JSON.stringify(schema.playwrightOptions),
76
76
  '--params',
77
77
  JSON.stringify(schema.params),
78
- ], {
78
+ ];
79
+ const allowlist = schema.certificateErrorSpkiAllowlist;
80
+ if (allowlist != null) {
81
+ const entries = Array.isArray(allowlist) ? allowlist : [allowlist];
82
+ const pemEntries = entries
83
+ .map(entry => Buffer.isBuffer(entry) ? entry.toString('utf-8') : entry)
84
+ .filter((entry) => Boolean(entry));
85
+ if (pemEntries.length > 0) {
86
+ args.push('--certificate-error-spki-allowlist', ...pemEntries);
87
+ }
88
+ }
89
+ const runTest = (0, child_process_1.spawn)('npx', args, {
79
90
  cwd: directory,
80
91
  stdio: 'inherit',
81
92
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-local.js","sourceRoot":"","sources":["../../src/push/run-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-local.js","sourceRoot":"","sources":["../../src/push/run-local.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elastic/synthetics",
3
- "version": "1.25.0",
3
+ "version": "1.26.1",
4
4
  "description": "Elastic synthetic monitoring agent",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,8 +18,7 @@
18
18
  "test": "npm run test:unit && npm run test:browser-service",
19
19
  "test:unit": "jest",
20
20
  "test:browser-service": "WSENDPOINT=ws://localhost:9322 npm run test:unit",
21
- "coverage": "jest --coverage",
22
- "prepare": "node .husky/install.mjs || true"
21
+ "coverage": "jest --coverage"
23
22
  },
24
23
  "bin": {
25
24
  "@elastic/synthetics": "dist/cli.js",
@@ -28,15 +27,8 @@
28
27
  "files": [
29
28
  "dist",
30
29
  "src",
31
- "templates",
32
- ".husky/install.mjs"
30
+ "templates"
33
31
  ],
34
- "lint-staged": {
35
- "*.{js,ts}": [
36
- "npm run lint:fix",
37
- "npm run format:fix"
38
- ]
39
- },
40
32
  "repository": {
41
33
  "type": "git",
42
34
  "url": "git+https://github.com/elastic/synthetics.git"
@@ -55,7 +47,7 @@
55
47
  "commander": "^10.0.1",
56
48
  "deepmerge": "^4.3.1",
57
49
  "enquirer": "^2.3.6",
58
- "esbuild": "^0.28.0",
50
+ "esbuild": "^0.28.2",
59
51
  "http-proxy": "^1.18.1",
60
52
  "kleur": "^4.1.5",
61
53
  "micromatch": "^4.0.8",
@@ -70,7 +62,7 @@
70
62
  "sonic-boom": "^3.3.0",
71
63
  "source-map-support": "^0.5.21",
72
64
  "stack-utils": "^2.0.6",
73
- "undici": "^7.28.0",
65
+ "undici": "^7.29.0",
74
66
  "unzip-stream": "^0.3.4",
75
67
  "yaml": "^2.8.3"
76
68
  },
@@ -86,11 +78,9 @@
86
78
  "@typescript-eslint/eslint-plugin": "^5.38.0",
87
79
  "@typescript-eslint/parser": "^5.38.0",
88
80
  "eslint": "^8.23.1",
89
- "husky": "^9.1.7",
90
81
  "is-positive": "3.1.0",
91
82
  "jest": "^29.6.1",
92
83
  "jest-junit": "^15.0.0",
93
- "lint-staged": "^16.4.0",
94
84
  "prettier": "^2.7.1",
95
85
  "rimraf": "^6.1.3",
96
86
  "straightforward": "^4.2.2",
@@ -100,9 +90,9 @@
100
90
  "overrides": {
101
91
  "follow-redirects": "^1.16.0",
102
92
  "cross-spawn": "^7.0.5",
103
- "brace-expansion@1": "^1.1.13",
104
- "brace-expansion@2": "^2.0.3",
105
- "brace-expansion@5": "^5.0.7",
93
+ "brace-expansion@1": "^1.1.17",
94
+ "brace-expansion@2": "^2.1.3",
95
+ "brace-expansion@5": "^5.0.8",
106
96
  "archiver": {
107
97
  "archiver-utils": {
108
98
  "lodash": "^4.18.0"
package/src/cli.ts CHANGED
@@ -74,6 +74,7 @@ const {
74
74
  match,
75
75
  fields,
76
76
  maintenanceWindows,
77
+ certificateErrorSpkiAllowlist,
77
78
  } = getCommonCommandOpts();
78
79
 
79
80
  program
@@ -128,6 +129,7 @@ program
128
129
  '--ignore-https-errors',
129
130
  'ignores any HTTPS errors in sites being tested, including ones related to unrecognized certs or signatures. This can be insecure!'
130
131
  )
132
+ .addOption(certificateErrorSpkiAllowlist)
131
133
  .option(
132
134
  '--quiet-exit-code',
133
135
  'always return 0 as an exit code status, regardless of test pass / fail. Only return > 0 exit codes on internal errors where the suite could not be run'
@@ -232,6 +234,7 @@ program
232
234
  .addOption(match)
233
235
  .addOption(params)
234
236
  .addOption(playwrightOpts)
237
+ .addOption(certificateErrorSpkiAllowlist)
235
238
  .addOption(configOpt)
236
239
  .addOption(maintenanceWindows)
237
240
  .action(async cmdOpts => {
@@ -212,6 +212,16 @@ type GrepOptions = {
212
212
  match?: string;
213
213
  };
214
214
 
215
+ /**
216
+ * PEM certificates (or Buffers) used to build Chromium's SPKI certificate-error
217
+ * allowlist. This does not add a CA to Chromium's trust store: matching
218
+ * certificates bypass certificate validation errors.
219
+ */
220
+ export type CertificateErrorSpkiAllowlist =
221
+ | string
222
+ | Buffer
223
+ | Array<string | Buffer>;
224
+
215
225
  type BaseArgs = {
216
226
  params?: Params;
217
227
  screenshots?: ScreenshotOptions;
@@ -221,6 +231,7 @@ type BaseArgs = {
221
231
  outfd?: number;
222
232
  wsEndpoint?: string;
223
233
  pauseOnError?: boolean;
234
+ certificateErrorSpkiAllowlist?: CertificateErrorSpkiAllowlist;
224
235
  playwrightOptions?: PlaywrightOptions;
225
236
  quietExitCode?: boolean;
226
237
  throttling?: MonitorConfig['throttling'];
@@ -300,6 +311,7 @@ export type SyntheticsConfig = {
300
311
  monitor?: MonitorConfig;
301
312
  project?: ProjectSettings;
302
313
  proxy?: ProxySettings;
314
+ certificateErrorSpkiAllowlist?: CertificateErrorSpkiAllowlist;
303
315
  };
304
316
 
305
317
  /** Runner Payload types */
@@ -0,0 +1,122 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2020-present, Elastic NV
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ */
25
+
26
+ import { X509Certificate, createHash } from 'crypto';
27
+ import { CertificateErrorSpkiAllowlist } from '../common_types';
28
+ import { warn } from '../helpers';
29
+
30
+ const PEM_CERTIFICATE_RE =
31
+ /-----BEGIN CERTIFICATE-----[\s\S]+?-----END CERTIFICATE-----/g;
32
+
33
+ /**
34
+ * Normalize user-provided PEM certificates (string, Buffer, or an array of
35
+ * either) into a flat list of PEM strings. Each entry may itself be a bundle
36
+ * that contains more than one certificate.
37
+ */
38
+ export function normalizeCertificateErrorSpkiAllowlist(
39
+ certificates?: CertificateErrorSpkiAllowlist
40
+ ): string[] {
41
+ if (certificates == null) {
42
+ return [];
43
+ }
44
+ const entries = Array.isArray(certificates) ? certificates : [certificates];
45
+ return entries
46
+ .map(entry => (Buffer.isBuffer(entry) ? entry.toString('utf-8') : entry))
47
+ .filter((entry): entry is string => Boolean(entry && entry.trim()));
48
+ }
49
+
50
+ /**
51
+ * Split a PEM bundle into the individual certificates it contains. Node's
52
+ * `X509Certificate` only parses the first certificate of a bundle, so we have
53
+ * to slice them apart ourselves to support full chains / multiple CAs.
54
+ */
55
+ export function splitPemCertificates(pem: string): string[] {
56
+ return pem.match(PEM_CERTIFICATE_RE) ?? [];
57
+ }
58
+
59
+ /**
60
+ * Compute the base64 encoded SHA-256 fingerprint of a certificate's
61
+ * SubjectPublicKeyInfo (SPKI). This is the exact value Chromium expects in the
62
+ * `--ignore-certificate-errors-spki-list` switch.
63
+ */
64
+ export function getSpkiFingerprint(pem: string): string {
65
+ const der = new X509Certificate(pem).publicKey.export({
66
+ type: 'spki',
67
+ format: 'der',
68
+ });
69
+ return createHash('sha256').update(der).digest('base64');
70
+ }
71
+
72
+ /**
73
+ * Describe an entry that failed to parse as a certificate for use in a
74
+ * warning message. A raw file path (e.g. from a typo'd
75
+ * `certificateErrorSpkiAllowlist` entry that didn't match an existing file) is
76
+ * shown as-is since that's the actionable detail; inline PEM content is not,
77
+ * to avoid dumping key material to the console.
78
+ */
79
+ function describeInvalidCertificateEntry(candidate: string): string {
80
+ if (candidate.includes('-----BEGIN CERTIFICATE-----')) {
81
+ return 'an inline PEM certificate';
82
+ }
83
+ const preview =
84
+ candidate.length > 80 ? `${candidate.slice(0, 80)}...` : candidate;
85
+ return `"${preview}"`;
86
+ }
87
+
88
+ /**
89
+ * Build the list of SPKI fingerprints for all supplied certificates. Chromium
90
+ * uses this list to bypass certificate errors for matching presented
91
+ * certificates; it does not establish CA trust. Invalid certificates are
92
+ * skipped, with a warning, so a single bad entry never aborts the whole run
93
+ * but also never fails silently - a `certificateErrorSpkiAllowlist` entry that
94
+ * doesn't resolve to a real file and isn't valid PEM (e.g. a typo'd path)
95
+ * would otherwise never be allowlisted, and matching endpoints would keep
96
+ * failing certificate validation with no indication why.
97
+ */
98
+ export function getSpkiFingerprints(
99
+ certificates?: CertificateErrorSpkiAllowlist
100
+ ): string[] {
101
+ const fingerprints = new Set<string>();
102
+ for (const entry of normalizeCertificateErrorSpkiAllowlist(certificates)) {
103
+ const pemCertificates = splitPemCertificates(entry);
104
+ // Fall back to treating the whole entry as a single certificate when no
105
+ // PEM boundary markers are present.
106
+ const candidates = pemCertificates.length > 0 ? pemCertificates : [entry];
107
+ for (const certificate of candidates) {
108
+ try {
109
+ fingerprints.add(getSpkiFingerprint(certificate));
110
+ } catch (e) {
111
+ warn(
112
+ `certificateErrorSpkiAllowlist: could not parse ${describeInvalidCertificateEntry(
113
+ certificate
114
+ )} as a certificate - it will not be allowlisted and matching endpoints may still fail certificate validation (${
115
+ e.message
116
+ })`
117
+ );
118
+ }
119
+ }
120
+ }
121
+ return [...fingerprints];
122
+ }
@@ -32,6 +32,7 @@ import {
32
32
  } from 'playwright-core';
33
33
  import { PluginManager } from '../plugins';
34
34
  import { log } from './logger';
35
+ import { getSpkiFingerprints } from './certs';
35
36
  import {
36
37
  APIDriver,
37
38
  Driver,
@@ -61,10 +62,31 @@ export class Gatherer {
61
62
  log(`Gatherer: connecting to WS endpoint: ${wsEndpoint}`);
62
63
  Gatherer.browser = await chromium.connect(wsEndpoint);
63
64
  } else {
65
+ /**
66
+ * Chromium on Linux has its own NSS trust store. This flag does not add
67
+ * a CA to that store: it bypasses certificate errors only when a
68
+ * presented certificate's SPKI matches one of the supplied fingerprints.
69
+ * It is narrower than `ignoreHTTPSErrors`, but is not CA trust.
70
+ */
71
+ const spkiFingerprints = getSpkiFingerprints(
72
+ options.certificateErrorSpkiAllowlist
73
+ );
74
+ if (spkiFingerprints.length > 0) {
75
+ log(
76
+ `Gatherer: bypassing certificate errors for ${spkiFingerprints.length} allowlisted SPKI fingerprint(s)`
77
+ );
78
+ }
64
79
  Gatherer.browser = await chromium.launch({
65
80
  ...playwrightOptions,
66
81
  args: [
67
82
  ...(playwrightOptions?.headless ? ['--disable-gpu'] : []),
83
+ ...(spkiFingerprints.length > 0
84
+ ? [
85
+ `--ignore-certificate-errors-spki-list=${spkiFingerprints.join(
86
+ ','
87
+ )}`,
88
+ ]
89
+ : []),
68
90
  ...(playwrightOptions?.args ?? []),
69
91
  ],
70
92
  });
@@ -457,6 +457,7 @@ export default class Runner implements RunnerInfo {
457
457
  privateLocations: options.privateLocations,
458
458
  params: options.params,
459
459
  playwrightOptions: options.playwrightOptions,
460
+ certificateErrorSpkiAllowlist: options.certificateErrorSpkiAllowlist,
460
461
  screenshot: options.screenshots,
461
462
  tags: options.tags,
462
463
  alert: options.alert,
@@ -32,6 +32,7 @@ import {
32
32
  ScreenshotOptions,
33
33
  Params,
34
34
  PlaywrightOptions,
35
+ CertificateErrorSpkiAllowlist,
35
36
  } from '../common_types';
36
37
  import { indent, isMatch } from '../helpers';
37
38
  import { LocationsMap } from '../locations/public-locations';
@@ -72,6 +73,7 @@ export type MonitorConfig = {
72
73
  screenshot?: ScreenshotOptions;
73
74
  params?: Params;
74
75
  playwrightOptions?: PlaywrightOptions;
76
+ certificateErrorSpkiAllowlist?: CertificateErrorSpkiAllowlist;
75
77
  alert?: AlertConfig;
76
78
  /**
77
79
  * By default, the monitor will be retested on failure
package/src/options.ts CHANGED
@@ -28,6 +28,7 @@ import { createOption } from 'commander';
28
28
  import { readConfig } from './config';
29
29
  import type { CliArgs, RunOptions } from './common_types';
30
30
  import { isFile, THROTTLING_WARNING_MSG, warn } from './helpers';
31
+ import { normalizeCertificateErrorSpkiAllowlist } from './core/certs';
31
32
  import { readFileSync } from 'fs';
32
33
 
33
34
  type Mode = 'run' | 'push';
@@ -103,6 +104,24 @@ export async function normalizeOptions(
103
104
  merge(config?.proxy ?? {}, cliArgs?.proxy || {})
104
105
  );
105
106
 
107
+ /**
108
+ * Merge PEM certificates from the Synthetics config and the CLI. Each entry
109
+ * can be inline PEM content or a path to a PEM file that we resolve here so
110
+ * downstream consumers only ever deal with PEM strings used to build the
111
+ * Chromium SPKI certificate-error allowlist.
112
+ */
113
+ const certificateErrorSpkiAllowlist = [
114
+ ...normalizeCertificateErrorSpkiAllowlist(
115
+ config.certificateErrorSpkiAllowlist
116
+ ),
117
+ ...normalizeCertificateErrorSpkiAllowlist(
118
+ cliArgs.certificateErrorSpkiAllowlist
119
+ ),
120
+ ].map(entry => (isFile(entry) ? readFileSync(entry, 'utf-8') : entry));
121
+ options.certificateErrorSpkiAllowlist = certificateErrorSpkiAllowlist.length
122
+ ? certificateErrorSpkiAllowlist
123
+ : undefined;
124
+
106
125
  /**
107
126
  * Merge default options based on the mode of operation whether we are running tests locally
108
127
  * or pushing the project monitors
@@ -265,6 +284,11 @@ export function getCommonCommandOpts() {
265
284
  "List of Kibana's Maintenance Windows IDs assigned by default. More information on https://www.elastic.co/docs/explore-analyze/alerts-cases/alerts/maintenance-windows."
266
285
  );
267
286
 
287
+ const certificateErrorSpkiAllowlist = createOption(
288
+ '--certificate-error-spki-allowlist <pathOrPem...>',
289
+ "One or more PEM certificates, each provided as inline content or a path to a PEM file. Their SPKI hashes are used to bypass Chromium certificate errors for matching presented certificates; this does not add a CA to Chromium's trust store."
290
+ );
291
+
268
292
  return {
269
293
  auth,
270
294
  authMandatory,
@@ -276,6 +300,7 @@ export function getCommonCommandOpts() {
276
300
  match,
277
301
  fields,
278
302
  maintenanceWindows,
303
+ certificateErrorSpkiAllowlist,
279
304
  };
280
305
  }
281
306