@prism-d1/cli 1.0.80 → 1.0.81
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 +1 -1
- package/dist/assets/gitlab-workflows/prism-ai-metrics.yml +1 -1
- package/dist/assets/infra/lib/metrics-pipeline-stack.ts +3 -2
- package/dist/src/commands/assessment/web.d.ts.map +1 -1
- package/dist/src/commands/assessment/web.js +25 -2
- package/dist/src/commands/assessment/web.js.map +1 -1
- package/dist/src/commands/bootstrapper/install-eval-harness.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/install-eval-harness.js +15 -5
- package/dist/src/commands/bootstrapper/install-eval-harness.js.map +1 -1
- package/dist/src/commands/bootstrapper/install-git-hooks.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/install-git-hooks.js +10 -14
- package/dist/src/commands/bootstrapper/install-git-hooks.js.map +1 -1
- package/dist/src/commands/bootstrapper/setup-github-oidc.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/setup-github-oidc.js +50 -27
- package/dist/src/commands/bootstrapper/setup-github-oidc.js.map +1 -1
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.js +69 -25
- package/dist/src/commands/bootstrapper/setup-gitlab-oidc.js.map +1 -1
- package/dist/src/commands/bootstrapper/setup-otel-sync.d.ts.map +1 -1
- package/dist/src/commands/bootstrapper/setup-otel-sync.js +145 -53
- package/dist/src/commands/bootstrapper/setup-otel-sync.js.map +1 -1
- package/dist/src/commands/workshop/generate-demo-data.d.ts +41 -2
- package/dist/src/commands/workshop/generate-demo-data.d.ts.map +1 -1
- package/dist/src/commands/workshop/generate-demo-data.js +391 -167
- package/dist/src/commands/workshop/generate-demo-data.js.map +1 -1
- package/dist/src/commands/workshop/verify-setup.d.ts.map +1 -1
- package/dist/src/commands/workshop/verify-setup.js +75 -14
- package/dist/src/commands/workshop/verify-setup.js.map +1 -1
- package/dist/src/utils/exec.d.ts +56 -0
- package/dist/src/utils/exec.d.ts.map +1 -0
- package/dist/src/utils/exec.js +72 -0
- package/dist/src/utils/exec.js.map +1 -0
- package/dist/src/utils/tempfile.d.ts +19 -0
- package/dist/src/utils/tempfile.d.ts.map +1 -0
- package/dist/src/utils/tempfile.js +32 -0
- package/dist/src/utils/tempfile.js.map +1 -0
- package/dist/src/utils/validate.d.ts +54 -0
- package/dist/src/utils/validate.d.ts.map +1 -0
- package/dist/src/utils/validate.js +143 -0
- package/dist/src/utils/validate.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
1
|
import { createInterface } from 'node:readline';
|
|
2
|
+
import { run } from '../../utils/exec.js';
|
|
3
|
+
import { validateGithubOwner, validateGithubRepo, validateNumericId } from '../../utils/validate.js';
|
|
3
4
|
function prompt(question, defaultValue) {
|
|
4
5
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
5
6
|
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
@@ -10,15 +11,6 @@ function prompt(question, defaultValue) {
|
|
|
10
11
|
});
|
|
11
12
|
});
|
|
12
13
|
}
|
|
13
|
-
function run(cmd) {
|
|
14
|
-
try {
|
|
15
|
-
const stdout = execSync(cmd, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'], shell: '/bin/bash', env: process.env }).trim();
|
|
16
|
-
return { ok: true, stdout, stderr: '' };
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
return { ok: false, stdout: '', stderr: (err.stderr || err.message || '').trim() };
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
14
|
/**
|
|
23
15
|
* Fetch a GitHub API path, trying progressively more authenticated clients:
|
|
24
16
|
* unauthenticated (public repos/users) → GITHUB_TOKEN env → gh CLI token.
|
|
@@ -28,7 +20,7 @@ async function githubApi(apiPath) {
|
|
|
28
20
|
const tokens = [undefined];
|
|
29
21
|
if (process.env.GITHUB_TOKEN)
|
|
30
22
|
tokens.push(process.env.GITHUB_TOKEN);
|
|
31
|
-
const ghToken = run('gh auth token');
|
|
23
|
+
const ghToken = run('gh', ['auth', 'token']);
|
|
32
24
|
if (ghToken.ok && ghToken.stdout)
|
|
33
25
|
tokens.push(ghToken.stdout);
|
|
34
26
|
for (const token of tokens) {
|
|
@@ -61,6 +53,7 @@ export default {
|
|
|
61
53
|
console.error('Error: GitHub username/org is required.');
|
|
62
54
|
process.exit(1);
|
|
63
55
|
}
|
|
56
|
+
validateGithubOwner(githubUsername);
|
|
64
57
|
let repoPath;
|
|
65
58
|
let repoName;
|
|
66
59
|
let roleName;
|
|
@@ -71,6 +64,7 @@ export default {
|
|
|
71
64
|
}
|
|
72
65
|
else {
|
|
73
66
|
repoName = await prompt('Repository name', 'prism-d1-velocity');
|
|
67
|
+
validateGithubRepo(repoName);
|
|
74
68
|
repoPath = `${githubUsername}/${repoName}`;
|
|
75
69
|
roleName = `GitHubActions-${repoName}`;
|
|
76
70
|
console.log(`\nConfiguring OIDC for: ${repoPath}`);
|
|
@@ -109,6 +103,10 @@ export default {
|
|
|
109
103
|
? 'GitHub owner ID (blank = fall back to wildcard IDs)'
|
|
110
104
|
: 'GitHub "<ownerId> <repoId>" (blank = fall back to wildcard IDs)');
|
|
111
105
|
const parts = pasted.split(/\s+/).filter(Boolean);
|
|
106
|
+
// These land in the trust policy sub claim. GitHub IDs are numeric;
|
|
107
|
+
// anything else would silently widen or break the StringLike match.
|
|
108
|
+
for (const p of parts)
|
|
109
|
+
validateNumericId(p, 'GitHub ID');
|
|
112
110
|
if (parts[0])
|
|
113
111
|
ownerId = parts[0];
|
|
114
112
|
if (parts[1])
|
|
@@ -131,7 +129,7 @@ export default {
|
|
|
131
129
|
`repo:${githubUsername}@${ownerId ?? '*'}/${repoName}@${repoId ?? '*'}:*`,
|
|
132
130
|
];
|
|
133
131
|
// Check AWS credentials
|
|
134
|
-
const sts = run('aws sts get-caller-identity --query Account --output text');
|
|
132
|
+
const sts = run('aws', ['sts', 'get-caller-identity', '--query', 'Account', '--output', 'text']);
|
|
135
133
|
if (!sts.ok) {
|
|
136
134
|
console.error('Error: AWS credentials not configured. Run "aws configure" first.');
|
|
137
135
|
process.exit(1);
|
|
@@ -141,16 +139,21 @@ export default {
|
|
|
141
139
|
// Step 1: Create the OIDC provider (idempotent — will skip if exists)
|
|
142
140
|
console.log('Step 1: Creating GitHub OIDC identity provider...');
|
|
143
141
|
const providerArn = `arn:aws:iam::${accountId}:oidc-provider/token.actions.githubusercontent.com`;
|
|
144
|
-
const existingProvider = run(
|
|
142
|
+
const existingProvider = run('aws', [
|
|
143
|
+
'iam', 'get-open-id-connect-provider',
|
|
144
|
+
'--open-id-connect-provider-arn', providerArn,
|
|
145
|
+
]);
|
|
145
146
|
if (existingProvider.ok) {
|
|
146
147
|
console.log(' ✓ OIDC provider already exists.');
|
|
147
148
|
}
|
|
148
149
|
else {
|
|
149
150
|
const thumbprint = '6938fd4d98bab03faadb97b34396831e3780aea1';
|
|
150
|
-
const createProvider = run(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
const createProvider = run('aws', [
|
|
152
|
+
'iam', 'create-open-id-connect-provider',
|
|
153
|
+
'--url', 'https://token.actions.githubusercontent.com',
|
|
154
|
+
'--client-id-list', 'sts.amazonaws.com',
|
|
155
|
+
'--thumbprint-list', thumbprint,
|
|
156
|
+
]);
|
|
154
157
|
if (createProvider.ok) {
|
|
155
158
|
console.log(' ✓ OIDC provider created.');
|
|
156
159
|
}
|
|
@@ -181,10 +184,14 @@ export default {
|
|
|
181
184
|
},
|
|
182
185
|
],
|
|
183
186
|
});
|
|
184
|
-
const existingRole = run(
|
|
187
|
+
const existingRole = run('aws', ['iam', 'get-role', '--role-name', roleName]);
|
|
185
188
|
if (existingRole.ok) {
|
|
186
189
|
console.log(` ✓ Role "${roleName}" already exists. Updating trust policy...`);
|
|
187
|
-
const update = run(
|
|
190
|
+
const update = run('aws', [
|
|
191
|
+
'iam', 'update-assume-role-policy',
|
|
192
|
+
'--role-name', roleName,
|
|
193
|
+
'--policy-document', trustPolicy,
|
|
194
|
+
]);
|
|
188
195
|
if (update.ok) {
|
|
189
196
|
console.log(' ✓ Trust policy updated.');
|
|
190
197
|
}
|
|
@@ -194,9 +201,12 @@ export default {
|
|
|
194
201
|
}
|
|
195
202
|
}
|
|
196
203
|
else {
|
|
197
|
-
const createRole = run(
|
|
198
|
-
|
|
199
|
-
|
|
204
|
+
const createRole = run('aws', [
|
|
205
|
+
'iam', 'create-role',
|
|
206
|
+
'--role-name', roleName,
|
|
207
|
+
'--assume-role-policy-document', trustPolicy,
|
|
208
|
+
'--description', `GitHub Actions OIDC role for ${repoPath}`,
|
|
209
|
+
]);
|
|
200
210
|
if (createRole.ok) {
|
|
201
211
|
console.log(` ✓ Role "${roleName}" created.`);
|
|
202
212
|
}
|
|
@@ -223,9 +233,12 @@ export default {
|
|
|
223
233
|
],
|
|
224
234
|
});
|
|
225
235
|
const policyName = 'PrismD1WorkshopPolicy';
|
|
226
|
-
const putPolicy = run(
|
|
227
|
-
|
|
228
|
-
|
|
236
|
+
const putPolicy = run('aws', [
|
|
237
|
+
'iam', 'put-role-policy',
|
|
238
|
+
'--role-name', roleName,
|
|
239
|
+
'--policy-name', policyName,
|
|
240
|
+
'--policy-document', policyDocument,
|
|
241
|
+
]);
|
|
229
242
|
if (putPolicy.ok) {
|
|
230
243
|
console.log(` ✓ Inline policy "${policyName}" attached.`);
|
|
231
244
|
}
|
|
@@ -235,9 +248,19 @@ export default {
|
|
|
235
248
|
}
|
|
236
249
|
// Step 4: Attach Continuum CI managed policy (if deployed)
|
|
237
250
|
console.log('\nStep 4: Attaching Continuum CI scan policy (if available)...');
|
|
238
|
-
const continuumPolicy = run(
|
|
251
|
+
const continuumPolicy = run('aws', [
|
|
252
|
+
'iam', 'list-policies',
|
|
253
|
+
'--scope', 'Local',
|
|
254
|
+
// No shell, so the JMESPath expression needs no outer quoting.
|
|
255
|
+
'--query', "Policies[?PolicyName=='prism-d1-continuum-ci-scan'].Arn",
|
|
256
|
+
'--output', 'text',
|
|
257
|
+
]);
|
|
239
258
|
if (continuumPolicy.ok && continuumPolicy.stdout) {
|
|
240
|
-
const attachResult = run(
|
|
259
|
+
const attachResult = run('aws', [
|
|
260
|
+
'iam', 'attach-role-policy',
|
|
261
|
+
'--role-name', roleName,
|
|
262
|
+
'--policy-arn', continuumPolicy.stdout,
|
|
263
|
+
]);
|
|
241
264
|
if (attachResult.ok) {
|
|
242
265
|
console.log(` ✓ Continuum CI policy attached (SSM + S3 + SecurityAgent access).`);
|
|
243
266
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-github-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-github-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-github-oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;iBAiDqB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;AAN7D,wBA8KE"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
1
|
import { createInterface } from 'node:readline';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { run } from '../../utils/exec.js';
|
|
4
|
+
import { normalizeGitlabUrl, validateGitlabNamespace, validateGitlabProjectPath, validateNumericId, } from '../../utils/validate.js';
|
|
3
5
|
function prompt(question, defaultValue) {
|
|
4
6
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
5
7
|
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
@@ -10,14 +12,27 @@ function prompt(question, defaultValue) {
|
|
|
10
12
|
});
|
|
11
13
|
});
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Derives the IAM role name for a GitLab project path.
|
|
17
|
+
*
|
|
18
|
+
* The whole path participates, with `/` mapped to `-`. The previous form was
|
|
19
|
+
* `GitLabCI-${projectPath.split('/').pop()}`, which discarded the namespace --
|
|
20
|
+
* so `teamA/deployer` and `teamB/deployer` both resolved to `GitLabCI-deployer`.
|
|
21
|
+
* Running setup for the second project found the first project's role already
|
|
22
|
+
* present and took the "update trust policy" branch, silently repointing teamA's
|
|
23
|
+
* role at teamB. That is a cross-tenant trust change, not just a naming clash.
|
|
24
|
+
*
|
|
25
|
+
* IAM role names allow [\w+=,.@-] and cap at 64 characters, so `/` must be
|
|
26
|
+
* translated and long nested paths are truncated with a short digest of the full
|
|
27
|
+
* path appended to keep distinct paths distinct.
|
|
28
|
+
*/
|
|
29
|
+
function gitlabRoleName(projectPath) {
|
|
30
|
+
const flat = projectPath.replace(/\//g, '-');
|
|
31
|
+
const candidate = `GitLabCI-${flat}`;
|
|
32
|
+
if (candidate.length <= 64)
|
|
33
|
+
return candidate;
|
|
34
|
+
const digest = createHash('sha256').update(projectPath).digest('hex').slice(0, 8);
|
|
35
|
+
return `${candidate.slice(0, 64 - 9)}-${digest}`;
|
|
21
36
|
}
|
|
22
37
|
export default {
|
|
23
38
|
description: 'Set up GitLab OIDC identity provider and IAM role for GitLab CI/CD',
|
|
@@ -29,7 +44,14 @@ export default {
|
|
|
29
44
|
console.log('\n🔐 GitLab OIDC Setup for AWS\n');
|
|
30
45
|
console.log('This will create an IAM OIDC identity provider and a role');
|
|
31
46
|
console.log('that GitLab CI/CD can assume to deploy to your AWS account.\n');
|
|
32
|
-
const
|
|
47
|
+
const gitlabUrlInput = await prompt('GitLab instance URL', 'https://gitlab.com');
|
|
48
|
+
// Normalizing here rather than stripping the scheme later: `host` becomes
|
|
49
|
+
// both the OIDC provider ARN suffix and the trust policy condition key
|
|
50
|
+
// prefix, and a trailing slash in either place yields a role nothing can
|
|
51
|
+
// assume, with no error at creation time.
|
|
52
|
+
const { url: gitlabUrl, host: providerHost } = normalizeGitlabUrl(gitlabUrlInput);
|
|
53
|
+
if (opts.projectId)
|
|
54
|
+
validateNumericId(opts.projectId, 'GitLab project ID');
|
|
33
55
|
let projectPath;
|
|
34
56
|
let roleName;
|
|
35
57
|
if (opts.global) {
|
|
@@ -38,6 +60,7 @@ export default {
|
|
|
38
60
|
console.error('Error: Group/username is required.');
|
|
39
61
|
process.exit(1);
|
|
40
62
|
}
|
|
63
|
+
validateGitlabNamespace(groupOrUser);
|
|
41
64
|
projectPath = `${groupOrUser}/*`;
|
|
42
65
|
roleName = `GitLabCI-${groupOrUser}-all`;
|
|
43
66
|
console.log(`\nConfiguring OIDC for ALL projects: ${projectPath} on ${gitlabUrl}`);
|
|
@@ -48,31 +71,40 @@ export default {
|
|
|
48
71
|
console.error('Error: Project path is required.');
|
|
49
72
|
process.exit(1);
|
|
50
73
|
}
|
|
51
|
-
|
|
74
|
+
validateGitlabProjectPath(projectPath);
|
|
75
|
+
roleName = gitlabRoleName(projectPath);
|
|
52
76
|
console.log(`\nConfiguring OIDC for: ${projectPath} on ${gitlabUrl}`);
|
|
53
77
|
}
|
|
54
78
|
// Check AWS credentials
|
|
55
|
-
const sts = run('aws sts get-caller-identity --query Account --output text');
|
|
79
|
+
const sts = run('aws', ['sts', 'get-caller-identity', '--query', 'Account', '--output', 'text']);
|
|
56
80
|
if (!sts.ok) {
|
|
57
81
|
console.error('Error: AWS credentials not configured. Run "aws configure" first.');
|
|
58
82
|
process.exit(1);
|
|
59
83
|
}
|
|
60
84
|
const accountId = sts.stdout;
|
|
61
85
|
console.log(`AWS Account: ${accountId}\n`);
|
|
62
|
-
// Derive provider hostname from URL
|
|
63
|
-
const providerHost = gitlabUrl.replace(/^https?:\/\//, '');
|
|
64
86
|
const providerArn = `arn:aws:iam::${accountId}:oidc-provider/${providerHost}`;
|
|
65
87
|
// Step 1: Create the OIDC provider
|
|
66
88
|
console.log('Step 1: Creating GitLab OIDC identity provider...');
|
|
67
|
-
const existingProvider = run(
|
|
89
|
+
const existingProvider = run('aws', [
|
|
90
|
+
'iam', 'get-open-id-connect-provider',
|
|
91
|
+
'--open-id-connect-provider-arn', providerArn,
|
|
92
|
+
]);
|
|
68
93
|
if (existingProvider.ok) {
|
|
69
94
|
console.log(' ✓ OIDC provider already exists.');
|
|
70
95
|
}
|
|
71
96
|
else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
// No --thumbprint-list. IAM derives and pins the thumbprint itself when
|
|
98
|
+
// the argument is omitted, and for an IdP whose certificate chains to a
|
|
99
|
+
// trusted root CA it secures the connection using those CAs regardless.
|
|
100
|
+
// This previously passed 40 literal zeros, which is not a thumbprint of
|
|
101
|
+
// anything -- it read as a real pinned value while asserting nothing, and
|
|
102
|
+
// would have to be corrected by hand for a self-hosted instance.
|
|
103
|
+
const createProvider = run('aws', [
|
|
104
|
+
'iam', 'create-open-id-connect-provider',
|
|
105
|
+
'--url', gitlabUrl,
|
|
106
|
+
'--client-id-list', gitlabUrl,
|
|
107
|
+
]);
|
|
76
108
|
if (createProvider.ok) {
|
|
77
109
|
console.log(' ✓ OIDC provider created.');
|
|
78
110
|
}
|
|
@@ -103,10 +135,14 @@ export default {
|
|
|
103
135
|
},
|
|
104
136
|
],
|
|
105
137
|
});
|
|
106
|
-
const existingRole = run(
|
|
138
|
+
const existingRole = run('aws', ['iam', 'get-role', '--role-name', roleName]);
|
|
107
139
|
if (existingRole.ok) {
|
|
108
140
|
console.log(` ✓ Role "${roleName}" already exists. Updating trust policy...`);
|
|
109
|
-
const update = run(
|
|
141
|
+
const update = run('aws', [
|
|
142
|
+
'iam', 'update-assume-role-policy',
|
|
143
|
+
'--role-name', roleName,
|
|
144
|
+
'--policy-document', trustPolicy,
|
|
145
|
+
]);
|
|
110
146
|
if (update.ok)
|
|
111
147
|
console.log(' ✓ Trust policy updated.');
|
|
112
148
|
else {
|
|
@@ -115,9 +151,12 @@ export default {
|
|
|
115
151
|
}
|
|
116
152
|
}
|
|
117
153
|
else {
|
|
118
|
-
const createRole = run(
|
|
119
|
-
|
|
120
|
-
|
|
154
|
+
const createRole = run('aws', [
|
|
155
|
+
'iam', 'create-role',
|
|
156
|
+
'--role-name', roleName,
|
|
157
|
+
'--assume-role-policy-document', trustPolicy,
|
|
158
|
+
'--description', `GitLab CI OIDC role for ${projectPath}`,
|
|
159
|
+
]);
|
|
121
160
|
if (createRole.ok)
|
|
122
161
|
console.log(` ✓ Role "${roleName}" created.`);
|
|
123
162
|
else {
|
|
@@ -143,7 +182,12 @@ export default {
|
|
|
143
182
|
],
|
|
144
183
|
});
|
|
145
184
|
const policyName = 'PrismD1WorkshopPolicy';
|
|
146
|
-
const putPolicy = run(
|
|
185
|
+
const putPolicy = run('aws', [
|
|
186
|
+
'iam', 'put-role-policy',
|
|
187
|
+
'--role-name', roleName,
|
|
188
|
+
'--policy-name', policyName,
|
|
189
|
+
'--policy-document', policyDocument,
|
|
190
|
+
]);
|
|
147
191
|
if (putPolicy.ok)
|
|
148
192
|
console.log(` ✓ Inline policy "${policyName}" attached.`);
|
|
149
193
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-gitlab-oidc.js","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-gitlab-oidc.ts"],"names":[],"mappings":"AAAA,OAAO,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":"setup-otel-sync.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-otel-sync.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"setup-otel-sync.d.ts","sourceRoot":"","sources":["../../../../src/commands/bootstrapper/setup-otel-sync.ts"],"names":[],"mappings":";;;;;;iBA8UqB;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;AAR5F,wBAqJE"}
|