@prism-d1/cli 1.0.82 → 1.0.83
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.
- package/dist/assets/github-workflows/prism-ai-metrics.yml +14 -2
- package/dist/assets/github-workflows/prism-eval-gate-kiro.yml +45 -19
- package/dist/assets/github-workflows/prism-eval-gate.yml +28 -16
- package/dist/assets/gitlab-workflows/prism-ai-metrics.yml +9 -2
- package/dist/assets/infra/lib/lambda/security-agent-processor.ts +76 -43
- package/dist/assets/infra/lib/metrics-pipeline-stack.ts +8 -0
- package/dist/src/commands/bootstrapper/install-eval-harness.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/install-eval-harness.js +9 -0
- package/dist/src/commands/bootstrapper/install-eval-harness.js.map +1 -1
- package/dist/src/commands/bootstrapper/install-github-workflows.d.ts +1 -0
- package/dist/src/commands/bootstrapper/install-github-workflows.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/install-github-workflows.js +69 -9
- package/dist/src/commands/bootstrapper/install-github-workflows.js.map +1 -1
- package/dist/src/commands/bootstrapper/setup-github-oidc.d.ts +8 -2
- package/dist/src/commands/bootstrapper/setup-github-oidc.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/setup-github-oidc.js +17 -2
- package/dist/src/commands/bootstrapper/setup-github-oidc.js.map +1 -1
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.d.ts +8 -2
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.js +17 -2
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.js.map +1 -1
- package/dist/src/commands/workshop/verify-setup.d.ts.map +1 -1
- package/dist/src/commands/workshop/verify-setup.js +0 -2
- package/dist/src/commands/workshop/verify-setup.js.map +1 -1
- package/dist/src/utils/root.d.ts +8 -4
- package/dist/src/utils/root.d.ts.map +1 -1
- package/dist/src/utils/root.js +42 -20
- package/dist/src/utils/root.js.map +1 -1
- package/dist/src/utils/validate.d.ts +1 -0
- package/dist/src/utils/validate.d.ts.map +1 -1
- package/dist/src/utils/validate.js +42 -0
- package/dist/src/utils/validate.js.map +1 -1
- package/package.json +1 -1
|
@@ -86,8 +86,20 @@ jobs:
|
|
|
86
86
|
|
|
87
87
|
# --- Commit SHAs: immutable facts for deferred origin resolution.
|
|
88
88
|
# Capped at 50 to bound the event size and the render-time join.
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
#
|
|
90
|
+
# --no-merges matters here. HEAD_SHA is the PR's merge_commit_sha, so the
|
|
91
|
+
# range BASE..HEAD includes GitHub's own merge commit, authored by
|
|
92
|
+
# web-flow on GitHub's servers. codeburn attributes commits made on a
|
|
93
|
+
# developer's machine, so that commit can never appear in the attribution
|
|
94
|
+
# store. Counting it puts a structural ceiling on Attribution Coverage:
|
|
95
|
+
# a fully-onboarded team with 3 PRs and 9 authored commits reported
|
|
96
|
+
# 9 attributed / 12 seen = 75%, when the true coverage was 100%.
|
|
97
|
+
#
|
|
98
|
+
# Excluding every merge commit, not just GitHub's, is the right call for
|
|
99
|
+
# this pair: a merge commit introduces no authored lines, so it is not
|
|
100
|
+
# attributable content on either side of the ratio.
|
|
101
|
+
COMMIT_SHAS=$(git rev-list --no-merges "${BASE_SHA}..${HEAD_SHA}" 2>/dev/null | head -50 | jq -R . | jq -sc . || echo '[]')
|
|
102
|
+
TOTAL_COMMITS=$(git rev-list --no-merges --count "${BASE_SHA}..${HEAD_SHA}" 2>/dev/null || echo 0)
|
|
91
103
|
|
|
92
104
|
# --- Lead time: PR open → merge. From the event payload, not git, so
|
|
93
105
|
# it is unaffected by rebases and squashes.
|
|
@@ -262,14 +262,12 @@ jobs:
|
|
|
262
262
|
REPO: ${{ github.repository }}
|
|
263
263
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
264
264
|
run: |
|
|
265
|
-
#
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
fi
|
|
272
|
-
|
|
265
|
+
# Config is read FIRST, on purpose. "Continuum was never deployed" is a
|
|
266
|
+
# deployment choice and may legitimately skip the scan; "Continuum is
|
|
267
|
+
# deployed but the scan could not run" is a failure and must block the
|
|
268
|
+
# merge. Probing the CLI before knowing which case we are in cannot tell
|
|
269
|
+
# them apart, so a missing subcommand used to silently pass the gate on a
|
|
270
|
+
# repo that had opted into scanning.
|
|
273
271
|
AGENT_SPACE_ID=$(aws ssm get-parameter --name /prism/continuum/agent-space-id --query Parameter.Value --output text 2>/dev/null || echo "")
|
|
274
272
|
SCAN_BUCKET=$(aws ssm get-parameter --name /prism/continuum/scan-bucket --query Parameter.Value --output text 2>/dev/null || echo "")
|
|
275
273
|
|
|
@@ -280,6 +278,16 @@ jobs:
|
|
|
280
278
|
exit 0
|
|
281
279
|
fi
|
|
282
280
|
|
|
281
|
+
# Continuum IS configured from here on, so every failure below fails
|
|
282
|
+
# closed: scan_error=true and findings=-1, never findings=0.
|
|
283
|
+
if ! aws securityagent start-code-review-job help > /dev/null 2>&1; then
|
|
284
|
+
echo "::error::Continuum is configured but this AWS CLI lacks the securityagent code review commands (need v2.36+)."
|
|
285
|
+
echo " The security scan cannot run, so this PR is not verified. Upgrade the CLI in the workflow."
|
|
286
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
287
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
288
|
+
exit 0
|
|
289
|
+
fi
|
|
290
|
+
|
|
283
291
|
REPO_SLUG=$(echo "${REPO}" | tr '/' '-')
|
|
284
292
|
CODE_REVIEW_ID=$(aws ssm get-parameter --name "/prism/continuum/code-review-id/${REPO_SLUG}" --query Parameter.Value --output text 2>/dev/null || echo "")
|
|
285
293
|
if [ -z "$CODE_REVIEW_ID" ]; then
|
|
@@ -307,10 +315,10 @@ jobs:
|
|
|
307
315
|
CODE_REVIEW_ID=$(echo "$CR_OUTPUT" | jq -r '.codeReviewId // empty' 2>/dev/null)
|
|
308
316
|
|
|
309
317
|
if [ -z "$CODE_REVIEW_ID" ]; then
|
|
310
|
-
echo "::
|
|
311
|
-
echo " Run '
|
|
312
|
-
echo "
|
|
313
|
-
echo "
|
|
318
|
+
echo "::error::Could not create the Continuum Code Review resource: ${CR_OUTPUT}"
|
|
319
|
+
echo " Run 'prism-cli securityagent setup' to create it manually."
|
|
320
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
321
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
314
322
|
exit 0
|
|
315
323
|
fi
|
|
316
324
|
|
|
@@ -325,7 +333,13 @@ jobs:
|
|
|
325
333
|
# Diff must be uploaded with .patch extension (API requirement)
|
|
326
334
|
git diff "${BASE_SHA}..${HEAD_SHA}" > /tmp/changes.patch
|
|
327
335
|
if [ ! -s /tmp/changes.patch ]; then
|
|
336
|
+
echo "No changes to scan."
|
|
337
|
+
# critical/high must be set explicitly. The gate tests
|
|
338
|
+
# `critical != '0'`, and an unset output is '', which is != '0' in a
|
|
339
|
+
# GitHub expression -- leaving them unset failed the gate on a no-op PR.
|
|
328
340
|
echo "findings=0" >> "$GITHUB_OUTPUT"
|
|
341
|
+
echo "critical=0" >> "$GITHUB_OUTPUT"
|
|
342
|
+
echo "high=0" >> "$GITHUB_OUTPUT"
|
|
329
343
|
exit 0
|
|
330
344
|
fi
|
|
331
345
|
DIFF_KEY="diffs/${REPO_SLUG}/${PR_NUMBER}/${HEAD_SHA}.patch"
|
|
@@ -350,18 +364,26 @@ jobs:
|
|
|
350
364
|
done
|
|
351
365
|
|
|
352
366
|
if [ "$STATUS" != "COMPLETED" ]; then
|
|
353
|
-
echo "::
|
|
354
|
-
echo "
|
|
355
|
-
echo "
|
|
367
|
+
echo "::error::Continuum scan did not complete (status: ${STATUS})."
|
|
368
|
+
echo " An incomplete scan is not a clean scan -- failing closed. Re-run, or check the Continuum job logs."
|
|
369
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
370
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
356
371
|
exit 0
|
|
357
372
|
fi
|
|
358
373
|
|
|
359
374
|
# NOTE: list-findings takes agent-space-id + code-review-job-id only.
|
|
360
375
|
# Response field is 'findingsSummaries', risk field is 'riskLevel'.
|
|
361
|
-
|
|
376
|
+
# No `|| echo '{"findingsSummaries":[]}'` fallback: an API error there is
|
|
377
|
+
# indistinguishable from a clean scan, so it would pass the gate.
|
|
378
|
+
if ! FINDINGS_JSON=$(aws securityagent list-findings \
|
|
362
379
|
--agent-space-id "${AGENT_SPACE_ID}" \
|
|
363
380
|
--code-review-job-id "${JOB_ID}" \
|
|
364
|
-
--output json 2
|
|
381
|
+
--output json 2>&1); then
|
|
382
|
+
echo "::error::Continuum scan completed but its findings could not be retrieved: ${FINDINGS_JSON}"
|
|
383
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
384
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
385
|
+
exit 0
|
|
386
|
+
fi
|
|
365
387
|
|
|
366
388
|
TOTAL=$(echo "$FINDINGS_JSON" | jq '.findingsSummaries | length')
|
|
367
389
|
CRITICAL=$(echo "$FINDINGS_JSON" | jq '[.findingsSummaries[] | select(.riskLevel == "CRITICAL")] | length')
|
|
@@ -443,7 +465,7 @@ jobs:
|
|
|
443
465
|
fi
|
|
444
466
|
|
|
445
467
|
- name: Fail on eval gate failure
|
|
446
|
-
if: ${{ steps.review.outputs.result == 'FAIL' || steps.review.outputs.result == 'ERROR' || (steps.security-gate.outputs.skipped != 'true' && (steps.security-gate.outputs.critical != '0' || steps.security-gate.outputs.high != '0')) }}
|
|
468
|
+
if: ${{ steps.review.outputs.result == 'FAIL' || steps.review.outputs.result == 'ERROR' || steps.security-gate.outputs.scan_error == 'true' || (steps.security-gate.outputs.skipped != 'true' && (steps.security-gate.outputs.critical != '0' || steps.security-gate.outputs.high != '0')) }}
|
|
447
469
|
env:
|
|
448
470
|
REVIEW_RESULT: ${{ steps.review.outputs.result }}
|
|
449
471
|
REVIEW_HIGH: ${{ steps.review.outputs.high }}
|
|
@@ -451,6 +473,7 @@ jobs:
|
|
|
451
473
|
REVIEW_SUMMARY: ${{ steps.review.outputs.summary }}
|
|
452
474
|
SEC_CRITICAL: ${{ steps.security-gate.outputs.critical }}
|
|
453
475
|
SEC_HIGH: ${{ steps.security-gate.outputs.high }}
|
|
476
|
+
SEC_SCAN_ERROR: ${{ steps.security-gate.outputs.scan_error }}
|
|
454
477
|
run: |
|
|
455
478
|
if [ "${REVIEW_RESULT}" = "ERROR" ]; then
|
|
456
479
|
echo "❌ Eval gate failed closed: review output could not be parsed"
|
|
@@ -458,7 +481,10 @@ jobs:
|
|
|
458
481
|
echo "❌ Kiro found ${REVIEW_HIGH:-?} high-severity issues (score: ${REVIEW_SCORE:-?})"
|
|
459
482
|
echo "Summary: ${REVIEW_SUMMARY}"
|
|
460
483
|
fi
|
|
461
|
-
if [ "${
|
|
484
|
+
if [ "${SEC_SCAN_ERROR}" = "true" ]; then
|
|
485
|
+
echo "❌ Security gate failed closed: the Continuum scan produced no verdict."
|
|
486
|
+
echo " This PR has NOT been security scanned. Re-run the workflow, or check the Continuum job logs."
|
|
487
|
+
elif [ "${SEC_CRITICAL:-0}" -gt 0 ] || [ "${SEC_HIGH:-0}" -gt 0 ]; then
|
|
462
488
|
echo "❌ Continuum found ${SEC_CRITICAL:-0} critical, ${SEC_HIGH:-0} high security findings"
|
|
463
489
|
fi
|
|
464
490
|
exit 1
|
|
@@ -222,7 +222,7 @@ jobs:
|
|
|
222
222
|
\"EventBusName\":\"prism-d1-metrics\",
|
|
223
223
|
\"Detail\":$(echo "${EVAL_EVENT}" | jq -c '.' | jq -Rs '.')}]"
|
|
224
224
|
|
|
225
|
-
- name: Upgrade AWS CLI v2 (securityagent code review requires v2.
|
|
225
|
+
- name: Upgrade AWS CLI v2 (securityagent code review requires v2.36+)
|
|
226
226
|
run: |
|
|
227
227
|
curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
|
|
228
228
|
curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sha256" -o /tmp/awscliv2.zip.sha256
|
|
@@ -240,14 +240,6 @@ jobs:
|
|
|
240
240
|
env:
|
|
241
241
|
AWS_REGION: us-west-2
|
|
242
242
|
run: |
|
|
243
|
-
# Pre-flight: verify AWS CLI has securityagent subcommand
|
|
244
|
-
if ! aws securityagent start-code-review-job help > /dev/null 2>&1; then
|
|
245
|
-
echo "::warning::AWS CLI does not support 'securityagent code review' commands after upgrade. Skipping scan."
|
|
246
|
-
echo "findings=0" >> "$GITHUB_OUTPUT"
|
|
247
|
-
echo "skipped=true" >> "$GITHUB_OUTPUT"
|
|
248
|
-
exit 0
|
|
249
|
-
fi
|
|
250
|
-
|
|
251
243
|
echo "::group::Retrieve Continuum config from SSM"
|
|
252
244
|
AGENT_SPACE_ID=$(aws ssm get-parameter --name /prism/continuum/agent-space-id --query Parameter.Value --output text 2>/dev/null || echo "")
|
|
253
245
|
SCAN_BUCKET=$(aws ssm get-parameter --name /prism/continuum/scan-bucket --query Parameter.Value --output text 2>/dev/null || echo "")
|
|
@@ -262,6 +254,19 @@ jobs:
|
|
|
262
254
|
exit 0
|
|
263
255
|
fi
|
|
264
256
|
|
|
257
|
+
# Continuum IS configured from here on, so every failure below fails
|
|
258
|
+
# closed. The CLI probe runs after the config lookup on purpose: before
|
|
259
|
+
# it, "never deployed" and "deployed but cannot scan" are
|
|
260
|
+
# indistinguishable, and the old order silently passed the gate on a repo
|
|
261
|
+
# that had opted into scanning.
|
|
262
|
+
if ! aws securityagent start-code-review-job help > /dev/null 2>&1; then
|
|
263
|
+
echo "::error::Continuum is configured but this AWS CLI lacks the securityagent code review commands (need v2.36+)."
|
|
264
|
+
echo " The security scan cannot run, so this PR is not verified."
|
|
265
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
266
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
267
|
+
exit 0
|
|
268
|
+
fi
|
|
269
|
+
|
|
265
270
|
# Fallback for service role if SSM param not yet deployed
|
|
266
271
|
if [[ -z "$SERVICE_ROLE" ]]; then
|
|
267
272
|
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
|
|
@@ -296,10 +301,9 @@ jobs:
|
|
|
296
301
|
if [[ -z "$CODE_REVIEW_ID" ]]; then
|
|
297
302
|
echo " ⚠️ Bootstrap failed:"
|
|
298
303
|
echo " $CR_OUTPUT"
|
|
299
|
-
echo " Run '
|
|
300
|
-
echo "
|
|
301
|
-
echo "findings
|
|
302
|
-
echo "skipped=true" >> "$GITHUB_OUTPUT"
|
|
304
|
+
echo " Run 'prism-cli securityagent setup' to create it manually."
|
|
305
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
306
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
303
307
|
exit 0
|
|
304
308
|
fi
|
|
305
309
|
|
|
@@ -377,10 +381,18 @@ jobs:
|
|
|
377
381
|
fi
|
|
378
382
|
|
|
379
383
|
echo "::group::Retrieve findings"
|
|
380
|
-
|
|
384
|
+
# No empty-array fallback: an API error there is indistinguishable from a
|
|
385
|
+
# clean scan, so it would pass the gate.
|
|
386
|
+
if ! FINDINGS_JSON=$(aws securityagent list-findings \
|
|
381
387
|
--agent-space-id "${AGENT_SPACE_ID}" \
|
|
382
388
|
--code-review-job-id "${JOB_ID}" \
|
|
383
|
-
--output json 2
|
|
389
|
+
--output json 2>&1); then
|
|
390
|
+
echo "::error::Continuum scan completed but its findings could not be retrieved: ${FINDINGS_JSON}"
|
|
391
|
+
echo "scan_error=true" >> "$GITHUB_OUTPUT"
|
|
392
|
+
echo "findings=-1" >> "$GITHUB_OUTPUT"
|
|
393
|
+
echo "::endgroup::"
|
|
394
|
+
exit 0
|
|
395
|
+
fi
|
|
384
396
|
|
|
385
397
|
TOTAL=$(echo "$FINDINGS_JSON" | jq '.findingsSummaries | length')
|
|
386
398
|
CRITICAL=$(echo "$FINDINGS_JSON" | jq '[.findingsSummaries[] | select(.riskLevel == "CRITICAL")] | length')
|
|
@@ -441,7 +453,7 @@ jobs:
|
|
|
441
453
|
fi
|
|
442
454
|
|
|
443
455
|
- name: Fail on eval or security issues
|
|
444
|
-
if: steps.eval.outputs.overall_result == 'FAIL' || (steps.security-gate.outputs.findings != '0' && steps.security-gate.outputs.skipped != 'true')
|
|
456
|
+
if: steps.eval.outputs.overall_result == 'FAIL' || steps.security-gate.outputs.scan_error == 'true' || (steps.security-gate.outputs.findings != '0' && steps.security-gate.outputs.skipped != 'true')
|
|
445
457
|
run: |
|
|
446
458
|
[[ "${{ steps.eval.outputs.overall_result }}" == "FAIL" ]] && echo "❌ Eval gate failed"
|
|
447
459
|
if [[ "${{ steps.security-gate.outputs.scan_error }}" == "true" ]]; then
|
|
@@ -74,8 +74,15 @@ prism-ai-metrics:
|
|
|
74
74
|
HEAD_SHA="${CI_COMMIT_SHA}"
|
|
75
75
|
|
|
76
76
|
# --- Commit SHAs: immutable facts for deferred origin resolution.
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
#
|
|
78
|
+
# --no-merges for the same reason as the GitHub workflow: under a
|
|
79
|
+
# merge-commit strategy CI_COMMIT_SHA is the merge commit GitLab created,
|
|
80
|
+
# which no developer machine authored and codeburn can therefore never
|
|
81
|
+
# attribute. Counting it caps Attribution Coverage below 100% for a fully
|
|
82
|
+
# onboarded team. Harmless under squash or fast-forward, where the range
|
|
83
|
+
# holds no merge commits to exclude.
|
|
84
|
+
COMMIT_SHAS=$(git rev-list --no-merges "${BASE_SHA}..${HEAD_SHA}" 2>/dev/null | head -50 | jq -R . | jq -sc . || echo '[]')
|
|
85
|
+
TOTAL_COMMITS=$(git rev-list --no-merges --count "${BASE_SHA}..${HEAD_SHA}" 2>/dev/null || echo "1")
|
|
79
86
|
|
|
80
87
|
# --- Lead time: MR open → now (this job runs on the post-merge push).
|
|
81
88
|
LEAD_TIME_SECONDS=0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DynamoDBClient,
|
|
3
|
-
|
|
3
|
+
GetItemCommand,
|
|
4
4
|
ScanCommand,
|
|
5
5
|
} from '@aws-sdk/client-dynamodb';
|
|
6
6
|
import {
|
|
@@ -14,6 +14,9 @@ const eventBridgeClient = new EventBridgeClient({});
|
|
|
14
14
|
const EVENTS_TABLE = process.env.EVENTS_TABLE!;
|
|
15
15
|
const METADATA_TABLE = process.env.METADATA_TABLE!;
|
|
16
16
|
const EVENT_BUS_NAME = process.env.EVENT_BUS_NAME!;
|
|
17
|
+
// Optional: unset when the OTEL collector is skipped, in which case no
|
|
18
|
+
// attribution exists to join against and AI origin stays 'unknown'.
|
|
19
|
+
const AI_USAGE_TABLE = process.env.AI_USAGE_TABLE;
|
|
17
20
|
|
|
18
21
|
interface SecurityAgentPayload {
|
|
19
22
|
findings: Array<{
|
|
@@ -177,55 +180,85 @@ async function lookupTeamId(repo: string): Promise<string> {
|
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
182
|
|
|
183
|
+
/**
|
|
184
|
+
* Candidate `REPO#` partition keys for one repository name.
|
|
185
|
+
*
|
|
186
|
+
* The two sides of this join spell the repo differently and nothing normalizes
|
|
187
|
+
* either. codeburn sets the `git.repo` span attribute from the git remote, so
|
|
188
|
+
* the attribution store holds a host-qualified path (`github.com/owner/name`).
|
|
189
|
+
* CI sends `GITHUB_REPOSITORY`, which is bare (`owner/name`). A single GetItem
|
|
190
|
+
* on whichever form the caller happened to pass would miss roughly half the
|
|
191
|
+
* time — and miss silently, since a missing item is indistinguishable from an
|
|
192
|
+
* unattributed commit.
|
|
193
|
+
*
|
|
194
|
+
* Rather than guess, try the value as given and then the plausible
|
|
195
|
+
* translations: add a host if it looks bare, strip one if it looks qualified.
|
|
196
|
+
*/
|
|
197
|
+
function repoKeyCandidates(repo: string): string[] {
|
|
198
|
+
const bare = repo.replace(/^https?:\/\//, '').replace(/\.git$/, '').replace(/\/+$/, '');
|
|
199
|
+
const candidates = [bare];
|
|
200
|
+
const segments = bare.split('/');
|
|
201
|
+
if (segments.length === 2) {
|
|
202
|
+
// owner/name → try the hosts codeburn would have recorded.
|
|
203
|
+
candidates.push(`github.com/${bare}`, `gitlab.com/${bare}`);
|
|
204
|
+
} else if (segments.length > 2) {
|
|
205
|
+
// host/owner/name → try dropping the host.
|
|
206
|
+
candidates.push(segments.slice(1).join('/'));
|
|
207
|
+
}
|
|
208
|
+
return [...new Set(candidates)];
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Resolves whether the code a finding lands on was AI-written.
|
|
213
|
+
*
|
|
214
|
+
* Reads the attribution store, which is the only place that answer now lives.
|
|
215
|
+
* This previously queried the events table for `prism.d1.commit` and counted
|
|
216
|
+
* ai vs human across the last 7 days — but nothing emits `prism.d1.commit`.
|
|
217
|
+
* The git hooks that were once expected to only ever wrote commit-message
|
|
218
|
+
* trailers, so the query never matched and every finding was tagged 'unknown',
|
|
219
|
+
* silently, with the CISO dashboard's AI-code-risk panel downstream of it.
|
|
220
|
+
*
|
|
221
|
+
* The per-commit verdict is frozen onto the COMMIT# item at ingest by
|
|
222
|
+
* otel-receiver (`ai_origin`), so a point lookup is enough — no span join, and
|
|
223
|
+
* no dependence on a span TTL that is shorter than the commit TTL.
|
|
224
|
+
*/
|
|
180
225
|
async function lookupAiOrigin(
|
|
181
226
|
teamId: string,
|
|
182
227
|
repo: string,
|
|
183
228
|
commitSha: string | null,
|
|
184
229
|
prNumber: number | null,
|
|
185
230
|
): Promise<'ai-generated' | 'ai-assisted' | 'human' | 'unknown'> {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const now = new Date();
|
|
192
|
-
const lookback = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000); // 7 days
|
|
193
|
-
|
|
194
|
-
const result = await dynamoClient.send(
|
|
195
|
-
new QueryCommand({
|
|
196
|
-
TableName: EVENTS_TABLE,
|
|
197
|
-
KeyConditionExpression: 'pk = :pk AND sk >= :start',
|
|
198
|
-
FilterExpression: 'detail_type = :dt',
|
|
199
|
-
ExpressionAttributeValues: {
|
|
200
|
-
':pk': { S: pk },
|
|
201
|
-
':start': { S: lookback.toISOString() },
|
|
202
|
-
':dt': { S: 'prism.d1.commit' },
|
|
203
|
-
},
|
|
204
|
-
ScanIndexForward: false, // Most recent first
|
|
205
|
-
Limit: 20,
|
|
206
|
-
}),
|
|
207
|
-
);
|
|
231
|
+
// A PR number alone cannot identify a commit in the attribution store, whose
|
|
232
|
+
// key is REPO#<repo>/COMMIT#<sha>. Returning 'unknown' is correct here rather
|
|
233
|
+
// than guessing from the repo's recent history.
|
|
234
|
+
if (!commitSha) return 'unknown';
|
|
235
|
+
if (!AI_USAGE_TABLE) return 'unknown';
|
|
208
236
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
if (
|
|
223
|
-
|
|
237
|
+
for (const candidate of repoKeyCandidates(repo)) {
|
|
238
|
+
try {
|
|
239
|
+
const result = await dynamoClient.send(
|
|
240
|
+
new GetItemCommand({
|
|
241
|
+
TableName: AI_USAGE_TABLE,
|
|
242
|
+
Key: {
|
|
243
|
+
pk: { S: `REPO#${candidate}` },
|
|
244
|
+
sk: { S: `COMMIT#${commitSha}` },
|
|
245
|
+
},
|
|
246
|
+
ProjectionExpression: 'ai_origin',
|
|
247
|
+
}),
|
|
248
|
+
);
|
|
249
|
+
const origin = result.Item?.ai_origin?.S;
|
|
250
|
+
if (origin === 'ai-generated' || origin === 'human') return origin;
|
|
251
|
+
// Item exists but carries no frozen verdict (written before write-time
|
|
252
|
+
// resolution). Treat as unresolved rather than trying another key.
|
|
253
|
+
if (result.Item) return 'unknown';
|
|
254
|
+
} catch (err) {
|
|
255
|
+
console.error(`AI origin lookup failed for REPO#${candidate}:`, err);
|
|
256
|
+
return 'unknown';
|
|
224
257
|
}
|
|
225
|
-
|
|
226
|
-
return 'unknown';
|
|
227
|
-
} catch (err) {
|
|
228
|
-
console.error('Failed to look up AI origin:', err);
|
|
229
|
-
return 'unknown';
|
|
230
258
|
}
|
|
259
|
+
|
|
260
|
+
// No attribution for this commit — the author's machine is not onboarded to
|
|
261
|
+
// codeburn sync. Distinct from 'human', which is a positive verdict.
|
|
262
|
+
console.log(`No attribution found for ${repo}@${commitSha} (team ${teamId}, PR ${prNumber ?? 'n/a'})`);
|
|
263
|
+
return 'unknown';
|
|
231
264
|
}
|
|
@@ -839,6 +839,10 @@ export class MetricsPipelineStack extends cdk.Stack {
|
|
|
839
839
|
EVENTS_TABLE: this.eventsTable.tableName,
|
|
840
840
|
METADATA_TABLE: this.metadataTable.tableName,
|
|
841
841
|
EVENT_BUS_NAME: this.eventBus.eventBusName,
|
|
842
|
+
// Findings are tagged AI vs human by looking the commit up in the
|
|
843
|
+
// attribution store. Left unset when the OTEL collector is skipped,
|
|
844
|
+
// in which case there is no attribution and origin stays 'unknown'.
|
|
845
|
+
AI_USAGE_TABLE: this.aiUsageTable.tableName,
|
|
842
846
|
},
|
|
843
847
|
logRetention: logs.RetentionDays.ONE_MONTH,
|
|
844
848
|
description: 'Normalizes AWS Security Agent findings and emits to PRISM pipeline',
|
|
@@ -846,6 +850,10 @@ export class MetricsPipelineStack extends cdk.Stack {
|
|
|
846
850
|
|
|
847
851
|
this.eventsTable.grantReadData(securityAgentProcessor);
|
|
848
852
|
this.metadataTable.grantReadData(securityAgentProcessor);
|
|
853
|
+
// Read-only: the processor resolves a finding's AI origin from the frozen
|
|
854
|
+
// ai_origin on the COMMIT# item. grantReadData also grants kms:Decrypt on
|
|
855
|
+
// the table's customer-managed key, which a bare IAM action would not.
|
|
856
|
+
this.aiUsageTable.grantReadData(securityAgentProcessor);
|
|
849
857
|
this.eventBus.grantPutEventsTo(securityAgentProcessor);
|
|
850
858
|
|
|
851
859
|
// Security Remediation Tracker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-eval-harness.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-eval-harness.ts"],"names":[],"mappings":";;;;;;;;;;;iBA2DqB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;;AAVvI,
|
|
1
|
+
{"version":3,"file":"install-eval-harness.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-eval-harness.ts"],"names":[],"mappings":";;;;;;;;;;;iBA2DqB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;;AAVvI,wBAwDE"}
|
|
@@ -74,6 +74,15 @@ export default {
|
|
|
74
74
|
}
|
|
75
75
|
// Determine mode
|
|
76
76
|
const mode = opts.mode || await prompt('Eval mode (kiro = recommended, bedrock = legacy)', 'kiro');
|
|
77
|
+
// Validated rather than falling through to bedrock. Both modes write the same
|
|
78
|
+
// workflow file, so a typo'd mode used to install the other gate silently --
|
|
79
|
+
// surfacing only as an unexpected Bedrock bill, or as a kiro gate with no
|
|
80
|
+
// KIRO_API_KEY. install-github-workflows rejects the same set.
|
|
81
|
+
if (mode !== 'kiro' && mode !== 'bedrock') {
|
|
82
|
+
console.error(`Error: unknown --mode "${mode}".`);
|
|
83
|
+
console.error(' Expected one of: kiro, bedrock');
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
77
86
|
if (mode === 'kiro') {
|
|
78
87
|
await installKiroMode(gitRoot, opts);
|
|
79
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-eval-harness.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-eval-harness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install-eval-harness.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-eval-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-github-workflows.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-github-workflows.ts"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"install-github-workflows.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-github-workflows.ts"],"names":[],"mappings":";;;;;;;iBAoCqB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;;AAP1E,wBA8EE"}
|
|
@@ -1,23 +1,63 @@
|
|
|
1
|
-
import { mkdirSync, readFileSync, writeFileSync, readdirSync } from 'node:fs';
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { getAssetPath } from '../../utils/root.js';
|
|
4
|
-
import { applyRegion, findDefaultRegionRefs } from '../../utils/region.js';
|
|
4
|
+
import { applyRegion, findDefaultRegionRefs, DEFAULT_REGION } from '../../utils/region.js';
|
|
5
|
+
/**
|
|
6
|
+
* The eval gate ships as one asset per mode, and exactly one may be installed.
|
|
7
|
+
*
|
|
8
|
+
* Both files declare `name: PRISM Eval Gate` with the same `pull_request`
|
|
9
|
+
* triggers, so installing both -- which this command used to do, by copying every
|
|
10
|
+
* asset -- produces two same-named check runs on every PR, one billing Bedrock
|
|
11
|
+
* and one billing the Kiro API.
|
|
12
|
+
*
|
|
13
|
+
* Both modes are written to a single output name, matching what
|
|
14
|
+
* `install-eval-harness --mode <mode>` does, so the two installers converge on
|
|
15
|
+
* the same file instead of leaving a mode-specific name behind.
|
|
16
|
+
*/
|
|
17
|
+
const EVAL_GATE_ASSETS = {
|
|
18
|
+
kiro: 'prism-eval-gate-kiro.yml',
|
|
19
|
+
bedrock: 'prism-eval-gate.yml',
|
|
20
|
+
};
|
|
21
|
+
const EVAL_GATE_OUTPUT = 'prism-eval-gate.yml';
|
|
22
|
+
/** Rules or rubrics each mode's gate reads, installed separately. */
|
|
23
|
+
const MODE_COMPANION = {
|
|
24
|
+
kiro: '.kiro/steering/code-review.md',
|
|
25
|
+
bedrock: '.prism/eval-harness/ (run-eval.sh + rubrics)',
|
|
26
|
+
};
|
|
5
27
|
export default {
|
|
6
28
|
description: 'Install GitHub Actions workflow templates into the current repo',
|
|
7
29
|
options: [
|
|
8
|
-
{ flags: '--
|
|
30
|
+
{ flags: '--mode <mode>', description: 'Eval gate mode: "kiro" (default, headless kiro-cli) or "bedrock" (legacy rubrics). Only one gate is installed', default: 'kiro' },
|
|
31
|
+
{ flags: '--region <region>', description: 'AWS region for EventBridge/CloudWatch; must match setup-github-oidc', default: DEFAULT_REGION },
|
|
9
32
|
{ flags: '--output-dir <dir>', description: 'Output directory', default: '.github/workflows' },
|
|
10
33
|
],
|
|
11
34
|
async action(opts) {
|
|
12
|
-
const region = opts.region ||
|
|
35
|
+
const region = opts.region || DEFAULT_REGION;
|
|
13
36
|
const outputDir = opts.outputDir;
|
|
37
|
+
// Validated rather than defaulted: silently treating an unrecognised mode as
|
|
38
|
+
// bedrock would install the gate the user did not ask for, and the failure
|
|
39
|
+
// only shows up as an unexpected Bedrock bill or a missing KIRO_API_KEY.
|
|
40
|
+
const mode = opts.mode || 'kiro';
|
|
41
|
+
if (!(mode in EVAL_GATE_ASSETS)) {
|
|
42
|
+
console.error(`Error: unknown --mode "${mode}".`);
|
|
43
|
+
console.error(` Expected one of: ${Object.keys(EVAL_GATE_ASSETS).join(', ')}`);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
14
46
|
console.log(`\n📦 Installing GitHub Actions workflows`);
|
|
47
|
+
console.log(` Mode: ${mode} eval gate`);
|
|
15
48
|
console.log(` Region: ${region}`);
|
|
16
49
|
console.log(` Output: ${outputDir}/\n`);
|
|
17
50
|
mkdirSync(outputDir, { recursive: true });
|
|
18
51
|
const assetDir = getAssetPath(import.meta.url, 'github-workflows/prism-ai-metrics.yml').replace('/prism-ai-metrics.yml', '');
|
|
19
52
|
const files = readdirSync(assetDir).filter(f => f.endsWith('.yml'));
|
|
53
|
+
const gateAssets = new Set(Object.values(EVAL_GATE_ASSETS));
|
|
54
|
+
const selectedGate = EVAL_GATE_ASSETS[mode];
|
|
55
|
+
let installed = 0;
|
|
20
56
|
for (const file of files) {
|
|
57
|
+
// Skip the other mode's gate entirely.
|
|
58
|
+
if (gateAssets.has(file) && file !== selectedGate)
|
|
59
|
+
continue;
|
|
60
|
+
const outName = gateAssets.has(file) ? EVAL_GATE_OUTPUT : file;
|
|
21
61
|
let content = readFileSync(join(assetDir, file), 'utf-8');
|
|
22
62
|
content = applyRegion(content, region);
|
|
23
63
|
const stragglers = findDefaultRegionRefs(content, file);
|
|
@@ -25,14 +65,34 @@ export default {
|
|
|
25
65
|
console.warn(` ⚠ ${file}: ${stragglers.length} unconverted region reference(s):`);
|
|
26
66
|
stragglers.forEach(s => console.warn(` ${s}`));
|
|
27
67
|
}
|
|
28
|
-
writeFileSync(join(outputDir,
|
|
29
|
-
console.log(` ✓ ${file}`);
|
|
68
|
+
writeFileSync(join(outputDir, outName), content);
|
|
69
|
+
console.log(` ✓ ${outName}${file === outName ? '' : ` (${mode} mode, from ${file})`}`);
|
|
70
|
+
installed++;
|
|
30
71
|
}
|
|
31
|
-
|
|
72
|
+
// A pre-mode install of this command copied every asset, so an upgrading repo
|
|
73
|
+
// can still hold the other gate under its asset name. Reported rather than
|
|
74
|
+
// deleted: it is a tracked file in the user's repo, not ours to remove.
|
|
75
|
+
const stale = join(outputDir, EVAL_GATE_ASSETS.kiro);
|
|
76
|
+
if (EVAL_GATE_ASSETS.kiro !== EVAL_GATE_OUTPUT && existsSync(stale)) {
|
|
77
|
+
console.warn(`\n ⚠ ${stale} is also present, left over from an earlier install.`);
|
|
78
|
+
console.warn(` It declares the same check name and trigger as ${EVAL_GATE_OUTPUT},`);
|
|
79
|
+
console.warn(` so both gates would run on every PR. Remove it:`);
|
|
80
|
+
console.warn(` rm ${stale}`);
|
|
81
|
+
}
|
|
82
|
+
console.log(`\n✅ Installed ${installed} workflow files to ${outputDir}/`);
|
|
32
83
|
console.log(`\nNext steps:`);
|
|
33
|
-
console.log(` 1. Run: prism-cli bootstrapper setup-github-oidc`);
|
|
84
|
+
console.log(` 1. Run: prism-cli bootstrapper setup-github-oidc --region ${region}`);
|
|
34
85
|
console.log(` 2. Add repository secret PRISM_METRICS_ROLE_ARN in GitHub`);
|
|
35
|
-
|
|
86
|
+
if (mode === 'kiro') {
|
|
87
|
+
console.log(` 3. Add repository secret KIRO_API_KEY (https://app.kiro.dev → Settings → API Keys)`);
|
|
88
|
+
console.log(` 4. Run: prism-cli bootstrapper install-eval-harness --mode kiro`);
|
|
89
|
+
console.log(` — installs ${MODE_COMPANION.kiro}, the rules the gate reviews against`);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.log(` 3. Run: prism-cli bootstrapper install-eval-harness --with-rubrics`);
|
|
93
|
+
console.log(` — installs ${MODE_COMPANION.bedrock}, which the gate reads`);
|
|
94
|
+
}
|
|
95
|
+
console.log(` ${mode === 'kiro' ? '5' : '4'}. Commit and push the workflow files`);
|
|
36
96
|
console.log('');
|
|
37
97
|
},
|
|
38
98
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-github-workflows.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-github-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"install-github-workflows.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/install-github-workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
description: string;
|
|
3
|
-
options: {
|
|
3
|
+
options: ({
|
|
4
4
|
flags: string;
|
|
5
5
|
description: string;
|
|
6
|
-
|
|
6
|
+
default?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
flags: string;
|
|
9
|
+
description: string;
|
|
10
|
+
default: string;
|
|
11
|
+
})[];
|
|
7
12
|
action(opts: {
|
|
8
13
|
global?: boolean;
|
|
9
14
|
pinIds?: boolean;
|
|
15
|
+
region?: string;
|
|
10
16
|
}): Promise<void>;
|
|
11
17
|
};
|
|
12
18
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-github-oidc.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-github-oidc.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":";;;;;;;;;;;iBA+CqB;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;AAP5E,wBAgRE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline';
|
|
2
2
|
import { run } from '../../utils/exec.js';
|
|
3
|
-
import {
|
|
3
|
+
import { DEFAULT_REGION } from '../../utils/region.js';
|
|
4
|
+
import { validateAwsRegion, validateGithubOwner, validateGithubRepo, validateNumericId } from '../../utils/validate.js';
|
|
4
5
|
function prompt(question, defaultValue) {
|
|
5
6
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
6
7
|
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
@@ -43,11 +44,19 @@ export default {
|
|
|
43
44
|
options: [
|
|
44
45
|
{ flags: '--global', description: 'Create a single role for all repos in the org/user (wildcard sub claim)' },
|
|
45
46
|
{ flags: '--pin-ids', description: 'Pin the trust policy to immutable GitHub owner/repo IDs (protects against namespace resurrection; may require gh CLI or GITHUB_TOKEN for private repos)' },
|
|
47
|
+
{ flags: '--region <region>', description: 'AWS region holding the PRISM event bus; must match install-github-workflows', default: DEFAULT_REGION },
|
|
46
48
|
],
|
|
47
49
|
async action(opts) {
|
|
50
|
+
// Must agree with the region baked into the installed workflows by
|
|
51
|
+
// install-github-workflows. The permissions policy below scopes
|
|
52
|
+
// events:PutEvents to one region's bus, so a mismatch leaves the workflows
|
|
53
|
+
// publishing to a bus this role cannot write to -- an AccessDenied at merge
|
|
54
|
+
// time rather than an error here.
|
|
55
|
+
const region = validateAwsRegion(opts.region || DEFAULT_REGION);
|
|
48
56
|
console.log('\n🔐 GitHub OIDC Setup for AWS\n');
|
|
49
57
|
console.log('This will create an IAM OIDC identity provider and a role');
|
|
50
58
|
console.log('that GitHub Actions can assume to deploy to your AWS account.\n');
|
|
59
|
+
console.log(`Region: ${region}\n`);
|
|
51
60
|
const githubUsername = await prompt('GitHub username or org');
|
|
52
61
|
if (!githubUsername) {
|
|
53
62
|
console.error('Error: GitHub username/org is required.');
|
|
@@ -223,7 +232,7 @@ export default {
|
|
|
223
232
|
{
|
|
224
233
|
Effect: 'Allow',
|
|
225
234
|
Action: 'events:PutEvents',
|
|
226
|
-
Resource: `arn:aws:events
|
|
235
|
+
Resource: `arn:aws:events:${region}:${accountId}:event-bus/prism-d1-metrics`,
|
|
227
236
|
},
|
|
228
237
|
{
|
|
229
238
|
Effect: 'Allow',
|
|
@@ -283,12 +292,18 @@ export default {
|
|
|
283
292
|
console.log('════════════════════════════════════════════════');
|
|
284
293
|
console.log(`\n Role ARN: ${roleArn}`);
|
|
285
294
|
console.log(` Repository: ${repoPath}`);
|
|
295
|
+
console.log(` Event bus region: ${region}`);
|
|
286
296
|
console.log(' Trusted sub patterns:');
|
|
287
297
|
for (const p of subPatterns)
|
|
288
298
|
console.log(` - ${p}`);
|
|
289
299
|
if (!opts.pinIds) {
|
|
290
300
|
console.log(' Tip: rerun with --pin-ids to lock the trust policy to immutable GitHub IDs.');
|
|
291
301
|
}
|
|
302
|
+
if (region !== DEFAULT_REGION) {
|
|
303
|
+
console.log(`\n Reminder: install the workflows for the same region, or events:PutEvents`);
|
|
304
|
+
console.log(` will be denied at merge time:`);
|
|
305
|
+
console.log(` prism-cli bootstrapper install-github-workflows --region ${region}`);
|
|
306
|
+
}
|
|
292
307
|
console.log('\n Next step: Add a repository secret in GitHub');
|
|
293
308
|
console.log('');
|
|
294
309
|
console.log(' In your GitHub repository, go to:');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-github-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-github-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
description: string;
|
|
3
|
-
options: {
|
|
3
|
+
options: ({
|
|
4
4
|
flags: string;
|
|
5
5
|
description: string;
|
|
6
|
-
|
|
6
|
+
default?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
flags: string;
|
|
9
|
+
description: string;
|
|
10
|
+
default: string;
|
|
11
|
+
})[];
|
|
7
12
|
action(opts: {
|
|
8
13
|
projectId?: string;
|
|
9
14
|
global?: boolean;
|
|
15
|
+
region?: string;
|
|
10
16
|
}): Promise<void>;
|
|
11
17
|
};
|
|
12
18
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-gitlab-oidc.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-gitlab-oidc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-gitlab-oidc.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-gitlab-oidc.ts"],"names":[],"mappings":";;;;;;;;;;;iBAoDqB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;AAP9E,wBA6LE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline';
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
3
|
import { run } from '../../utils/exec.js';
|
|
4
|
-
import {
|
|
4
|
+
import { DEFAULT_REGION } from '../../utils/region.js';
|
|
5
|
+
import { normalizeGitlabUrl, validateAwsRegion, validateGitlabNamespace, validateGitlabProjectPath, validateNumericId, } from '../../utils/validate.js';
|
|
5
6
|
function prompt(question, defaultValue) {
|
|
6
7
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
7
8
|
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
@@ -39,11 +40,19 @@ export default {
|
|
|
39
40
|
options: [
|
|
40
41
|
{ flags: '--project-id <id>', description: 'Use numeric project ID instead of path in trust policy (for recycled project paths)' },
|
|
41
42
|
{ flags: '--global', description: 'Create a single role for all projects in a group/user (wildcard sub claim)' },
|
|
43
|
+
{ flags: '--region <region>', description: 'AWS region holding the PRISM event bus; must match install-gitlab-workflows', default: DEFAULT_REGION },
|
|
42
44
|
],
|
|
43
45
|
async action(opts) {
|
|
46
|
+
// Must agree with the region baked into the installed workflows by
|
|
47
|
+
// install-gitlab-workflows. The permissions policy below scopes
|
|
48
|
+
// events:PutEvents to one region's bus, so a mismatch leaves the workflows
|
|
49
|
+
// publishing to a bus this role cannot write to -- an AccessDenied at merge
|
|
50
|
+
// time rather than an error here.
|
|
51
|
+
const region = validateAwsRegion(opts.region || DEFAULT_REGION);
|
|
44
52
|
console.log('\n🔐 GitLab OIDC Setup for AWS\n');
|
|
45
53
|
console.log('This will create an IAM OIDC identity provider and a role');
|
|
46
54
|
console.log('that GitLab CI/CD can assume to deploy to your AWS account.\n');
|
|
55
|
+
console.log(`Region: ${region}\n`);
|
|
47
56
|
const gitlabUrlInput = await prompt('GitLab instance URL', 'https://gitlab.com');
|
|
48
57
|
// Normalizing here rather than stripping the scheme later: `host` becomes
|
|
49
58
|
// both the OIDC provider ARN suffix and the trust policy condition key
|
|
@@ -172,7 +181,7 @@ export default {
|
|
|
172
181
|
{
|
|
173
182
|
Effect: 'Allow',
|
|
174
183
|
Action: 'events:PutEvents',
|
|
175
|
-
Resource: `arn:aws:events
|
|
184
|
+
Resource: `arn:aws:events:${region}:${accountId}:event-bus/prism-d1-metrics`,
|
|
176
185
|
},
|
|
177
186
|
{
|
|
178
187
|
Effect: 'Allow',
|
|
@@ -203,6 +212,12 @@ export default {
|
|
|
203
212
|
console.log(` Project: ${projectPath}`);
|
|
204
213
|
console.log(` Provider: ${gitlabUrl}`);
|
|
205
214
|
console.log(` Sub claim: ${opts.projectId ? `project_id:${opts.projectId}:*` : `project_path:${projectPath}:*`}`);
|
|
215
|
+
console.log(` Event bus region: ${region}`);
|
|
216
|
+
if (region !== DEFAULT_REGION) {
|
|
217
|
+
console.log(`\n Reminder: install the workflows for the same region, or events:PutEvents`);
|
|
218
|
+
console.log(` will be denied at merge time:`);
|
|
219
|
+
console.log(` prism-cli bootstrapper install-gitlab-workflows --region ${region}`);
|
|
220
|
+
}
|
|
206
221
|
console.log('\n Next step: Add a CI/CD variable in GitLab');
|
|
207
222
|
console.log('');
|
|
208
223
|
console.log(' In your GitLab project, go to:');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-gitlab-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-gitlab-oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,SAAS,MAAM,CAAC,QAAgB,EAAE,YAAqB;IACrD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,YAAY,IAAI,EAAE,CAAC;IACrC,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,eAAe;IACb,WAAW,EAAE,oEAAoE;IACjF,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,qFAAqF,EAAE;QAClI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,4EAA4E,EAAE;
|
|
1
|
+
{"version":3,"file":"setup-gitlab-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-gitlab-oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/workshop/verify-setup.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"verify-setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/workshop/verify-setup.ts"],"names":[],"mappings":";;;;;;iBAohBqB;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;AAPpF,wBAUE"}
|
|
@@ -4,9 +4,7 @@ import { resolve, dirname, join } from 'node:path';
|
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { createInterface } from 'node:readline';
|
|
6
6
|
import { platform, tmpdir, homedir } from 'node:os';
|
|
7
|
-
import { getRepoRoot } from '../../utils/root.js';
|
|
8
7
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
const REPO_ROOT = getRepoRoot(import.meta.url);
|
|
10
8
|
const IS_MAC = platform() === 'darwin';
|
|
11
9
|
// --- Colors ---
|
|
12
10
|
const GREEN = '\x1b[0;32m';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-setup.js","sourceRoot":"","sources":["../../../../src/commands/workshop/verify-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verify-setup.js","sourceRoot":"","sources":["../../../../src/commands/workshop/verify-setup.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/root.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Finds the repository root by
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Finds the repository root by looking for the ROOT_MARKERS directories,
|
|
3
|
+
* first walking up from this module (a source or built checkout), then from the
|
|
4
|
+
* current working directory (globally installed via npm, user inside a checkout).
|
|
5
|
+
*
|
|
6
|
+
* Falls back to `process.cwd()` when neither walk finds a root. That case only
|
|
7
|
+
* arises when the CLI is installed globally and run outside a checkout, where
|
|
8
|
+
* there is no repository to point at; the caller then fails on the missing
|
|
9
|
+
* subdirectory it tried to use.
|
|
6
10
|
*/
|
|
7
11
|
export declare function getRepoRoot(importMetaUrl: string): string;
|
|
8
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/utils/root.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/utils/root.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBhF"}
|
package/dist/src/utils/root.js
CHANGED
|
@@ -2,30 +2,52 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { resolve, dirname } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Directories that together identify the repository root.
|
|
6
|
+
*
|
|
7
|
+
* This was previously a single marker file, `prism-cli.sh`. That made an
|
|
8
|
+
* unrelated cleanup — deleting a launcher script no longer needed once the CLI
|
|
9
|
+
* shipped on npm — silently change where four commands resolved their paths,
|
|
10
|
+
* with no failing build or test to catch it. A marker whose only job is to be a
|
|
11
|
+
* marker is invisible to the person deleting it.
|
|
12
|
+
*
|
|
13
|
+
* These three are not arbitrary: they are exactly the directories the callers
|
|
14
|
+
* resolve against the returned root (`cli`, `infra`, `sample-app`, and
|
|
15
|
+
* `sample-app/agent`). Requiring all three means a positive match already
|
|
16
|
+
* guarantees those paths exist, and no single file rename or doc cleanup can
|
|
17
|
+
* invalidate the marker — removing any of them would be a repo restructure that
|
|
18
|
+
* breaks the commands regardless.
|
|
9
19
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
dir = resolve(dir, '..');
|
|
18
|
-
}
|
|
19
|
-
// When installed via npm, walk up from cwd instead
|
|
20
|
-
dir = process.cwd();
|
|
20
|
+
const ROOT_MARKERS = ['cli', 'infra', 'sample-app'];
|
|
21
|
+
function isRepoRoot(dir) {
|
|
22
|
+
return ROOT_MARKERS.every((marker) => existsSync(resolve(dir, marker)));
|
|
23
|
+
}
|
|
24
|
+
/** Walks up at most 10 levels from `start`, returning the first repo root found. */
|
|
25
|
+
function walkUpForRoot(start) {
|
|
26
|
+
let dir = start;
|
|
21
27
|
for (let i = 0; i < 10; i++) {
|
|
22
|
-
if (
|
|
28
|
+
if (isRepoRoot(dir))
|
|
23
29
|
return dir;
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
const parent = resolve(dir, '..');
|
|
31
|
+
if (parent === dir)
|
|
32
|
+
break; // reached the filesystem root
|
|
33
|
+
dir = parent;
|
|
26
34
|
}
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Finds the repository root by looking for the ROOT_MARKERS directories,
|
|
39
|
+
* first walking up from this module (a source or built checkout), then from the
|
|
40
|
+
* current working directory (globally installed via npm, user inside a checkout).
|
|
41
|
+
*
|
|
42
|
+
* Falls back to `process.cwd()` when neither walk finds a root. That case only
|
|
43
|
+
* arises when the CLI is installed globally and run outside a checkout, where
|
|
44
|
+
* there is no repository to point at; the caller then fails on the missing
|
|
45
|
+
* subdirectory it tried to use.
|
|
46
|
+
*/
|
|
47
|
+
export function getRepoRoot(importMetaUrl) {
|
|
48
|
+
return (walkUpForRoot(dirname(fileURLToPath(importMetaUrl))) ??
|
|
49
|
+
walkUpForRoot(process.cwd()) ??
|
|
50
|
+
process.cwd());
|
|
29
51
|
}
|
|
30
52
|
/**
|
|
31
53
|
* Resolves a path relative to the bundled assets directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/utils/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/utils/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAEpD,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,CAAC,8BAA8B;QACzD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,aAAqB;IAC/C,OAAO,CACL,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QACpD,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB,EAAE,YAAoB;IACtE,sFAAsF;IACtF,iEAAiE;IACjE,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,UAAU,CAAC;YAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,cAAc,CAAC;gBAAE,OAAO,cAAc,CAAC;QACxD,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,8BAA8B,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -51,4 +51,5 @@ export declare function normalizeGitlabUrl(value: string, label?: string): {
|
|
|
51
51
|
* real id, and permitting one risks widening the claim rather than failing.
|
|
52
52
|
*/
|
|
53
53
|
export declare function validateNumericId(value: string, label?: string): string;
|
|
54
|
+
export declare function validateAwsRegion(value: string, label?: string): string;
|
|
54
55
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuBH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG,MAAM,CAQxF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAoB,GAAG,MAAM,CAQnF;AAgBD,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAA0B,GAAG,MAAM,CAS9F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG,MAAM,CAU9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAqB9G;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAKrE"}
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuBH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG,MAAM,CAQxF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAoB,GAAG,MAAM,CAQnF;AAgBD,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAA0B,GAAG,MAAM,CAS9F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG,MAAM,CAU9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAwB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAqB9G;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAKrE;AA6BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAe,GAAG,MAAM,CAe7E"}
|
|
@@ -140,4 +140,46 @@ export function validateNumericId(value, label = 'ID') {
|
|
|
140
140
|
}
|
|
141
141
|
return value;
|
|
142
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* An AWS region name, as it appears in the middle field of an ARN.
|
|
145
|
+
*
|
|
146
|
+
* This one is load-bearing in a way the others are not: the value is
|
|
147
|
+
* interpolated into the `Resource` of an IAM permissions policy
|
|
148
|
+
* (`arn:aws:events:<region>:<account>:event-bus/prism-d1-metrics`). Two failure
|
|
149
|
+
* modes follow from an unvalidated value, and neither surfaces at setup time:
|
|
150
|
+
*
|
|
151
|
+
* - A `*` or `?` widens the resource to every region's event bus, quietly
|
|
152
|
+
* granting more than intended.
|
|
153
|
+
* - A `:` or `/` shifts the remaining ARN fields, producing a resource that
|
|
154
|
+
* matches nothing. IAM stores such a policy without complaint, so the first
|
|
155
|
+
* symptom is an AccessDenied from `events:PutEvents` in CI.
|
|
156
|
+
*
|
|
157
|
+
* The pattern accepts the AWS region shape (`us-west-2`, `ap-southeast-4`,
|
|
158
|
+
* `il-central-1`, `us-iso-east-1`) and nothing containing a wildcard or an ARN
|
|
159
|
+
* separator.
|
|
160
|
+
*
|
|
161
|
+
* GovCloud and China regions match that shape but are rejected on purpose.
|
|
162
|
+
* They live in the `aws-us-gov` and `aws-cn` partitions, and PRISM hard-codes
|
|
163
|
+
* `arn:aws:` in every ARN it builds -- the OIDC provider, the role, and this
|
|
164
|
+
* policy. Accepting one would place a correct region inside a wrong partition,
|
|
165
|
+
* which is the same silent non-match as a malformed region. Rejecting here
|
|
166
|
+
* fails loudly at setup instead.
|
|
167
|
+
*/
|
|
168
|
+
const AWS_REGION = /^[a-z]{2}(?:-[a-z0-9]+)+-\d{1,2}$/;
|
|
169
|
+
export function validateAwsRegion(value, label = 'AWS region') {
|
|
170
|
+
if (!AWS_REGION.test(value)) {
|
|
171
|
+
fail([
|
|
172
|
+
`Error: ${label} "${value}" is not a valid AWS region name.`,
|
|
173
|
+
' Expected something like us-west-2, eu-west-1, or ap-southeast-2.',
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
176
|
+
if (value.startsWith('us-gov-') || value.startsWith('cn-')) {
|
|
177
|
+
fail([
|
|
178
|
+
`Error: ${label} "${value}" is in the ${value.startsWith('cn-') ? 'aws-cn' : 'aws-us-gov'} partition, which PRISM does not support.`,
|
|
179
|
+
' Every ARN the bootstrapper builds is hard-coded to the aws (commercial) partition,',
|
|
180
|
+
' so the generated policy would reference a resource that does not exist.',
|
|
181
|
+
]);
|
|
182
|
+
}
|
|
183
|
+
return value;
|
|
184
|
+
}
|
|
143
185
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/validate.ts"],"names":[],"mappings":"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"}
|