@numa-tech/numa 1.13.2 → 1.13.4
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/README.md +75 -10
- package/dist/application-onboarding/client.d.ts +6 -1
- package/dist/application-onboarding/client.js +11 -1
- package/dist/application-onboarding/client.js.map +1 -1
- package/dist/application-onboarding/commands.d.ts +23 -1
- package/dist/application-onboarding/commands.js +278 -30
- package/dist/application-onboarding/commands.js.map +1 -1
- package/dist/application-onboarding/schemas.d.ts +109 -0
- package/dist/application-onboarding/schemas.js +17 -4
- package/dist/application-onboarding/schemas.js.map +1 -1
- package/dist/command-catalog.js +134 -13
- package/dist/command-catalog.js.map +1 -1
- package/dist/gitops/client.d.ts +41 -0
- package/dist/gitops/client.js +13 -1
- package/dist/gitops/client.js.map +1 -1
- package/dist/gitops/commands.d.ts +24 -1
- package/dist/gitops/commands.js +64 -4
- package/dist/gitops/commands.js.map +1 -1
- package/dist/gitops/schemas.d.ts +50 -0
- package/dist/gitops/schemas.js +37 -0
- package/dist/gitops/schemas.js.map +1 -1
- package/dist/jenkins-gitops-rollouts/client.d.ts +197 -0
- package/dist/jenkins-gitops-rollouts/client.js +126 -0
- package/dist/jenkins-gitops-rollouts/client.js.map +1 -0
- package/dist/jenkins-gitops-rollouts/commands.d.ts +50 -0
- package/dist/jenkins-gitops-rollouts/commands.js +358 -0
- package/dist/jenkins-gitops-rollouts/commands.js.map +1 -0
- package/dist/jenkins-gitops-rollouts/schemas.d.ts +217 -0
- package/dist/jenkins-gitops-rollouts/schemas.js +131 -0
- package/dist/jenkins-gitops-rollouts/schemas.js.map +1 -0
- package/dist/jenkins-jobs/commands.d.ts +2 -0
- package/dist/jenkins-jobs/commands.js +33 -1
- package/dist/jenkins-jobs/commands.js.map +1 -1
- package/dist/publications/commands.js +24 -1
- package/dist/publications/commands.js.map +1 -1
- package/dist/repositories/commands.js +23 -1
- package/dist/repositories/commands.js.map +1 -1
- package/package.json +4 -4
- package/skills/numa-create-application/SKILL.md +163 -0
- package/skills/numa-create-application/agents/openai.yaml +4 -0
- package/skills/numa-create-application/evals/evals.json +75 -0
- package/skills/numa-create-application/references/checklist.md +130 -0
- package/skills/numa-create-application/references/inference-rules.md +69 -0
- package/skills/numa-create-application/references/numa-cli.md +232 -0
- package/skills/numa-create-application/references/promote-workflows.md +134 -0
- package/skills/numa-create-application/scripts/inspect-project.mjs +243 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { loadAppConfig } from "../app-config.js";
|
|
3
|
+
import { loadConfig } from "../config.js";
|
|
4
|
+
import { PipelineError, sanitizePipelineOutput } from "../pipeline/errors.js";
|
|
5
|
+
import { JenkinsGitopsRolloutClient } from "./client.js";
|
|
6
|
+
import { JenkinsGitopsExpectedCredentialReferencesSchema, JenkinsGitopsExpectedPublicConfigurationSchema } from "./schemas.js";
|
|
7
|
+
const PLAN_HASH = /^[0-9a-f]{64}$/u;
|
|
8
|
+
const SHARED_LIBRARY_REVISION = /^[0-9a-f]{40}$/u;
|
|
9
|
+
const SAFE_KEY = /^[A-Za-z0-9][A-Za-z0-9._:/+-]*$/u;
|
|
10
|
+
function requireYes(value) {
|
|
11
|
+
if (!value) {
|
|
12
|
+
throw new PipelineError("Jenkins GitOps rollout mutation requires --yes after reviewing its scope and operator actions.", "JENKINS_GITOPS_ROLLOUT_CONFIRMATION_REQUIRED");
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function safeKey(value) {
|
|
16
|
+
const trimmed = value?.trim() ?? "";
|
|
17
|
+
if (!trimmed || trimmed.length > 200 || !SAFE_KEY.test(trimmed)) {
|
|
18
|
+
throw new PipelineError("idempotency-key must be 1-200 safe opaque characters.", "JENKINS_GITOPS_ROLLOUT_IDEMPOTENCY_INVALID");
|
|
19
|
+
}
|
|
20
|
+
return trimmed;
|
|
21
|
+
}
|
|
22
|
+
function planHash(value) {
|
|
23
|
+
const trimmed = value?.trim() ?? "";
|
|
24
|
+
if (!PLAN_HASH.test(trimmed)) {
|
|
25
|
+
throw new PipelineError("plan-hash must be the exact lower-case SHA-256 returned by the server.", "JENKINS_GITOPS_ROLLOUT_PLAN_HASH_INVALID");
|
|
26
|
+
}
|
|
27
|
+
return trimmed;
|
|
28
|
+
}
|
|
29
|
+
function sharedLibraryRevision(value) {
|
|
30
|
+
const trimmed = value?.trim() ?? "";
|
|
31
|
+
if (!SHARED_LIBRARY_REVISION.test(trimmed)) {
|
|
32
|
+
throw new PipelineError("shared-library-revision must be an approved full 40-character lower-case commit.", "JENKINS_GITOPS_ROLLOUT_INPUT_INVALID");
|
|
33
|
+
}
|
|
34
|
+
return trimmed;
|
|
35
|
+
}
|
|
36
|
+
function version(value) {
|
|
37
|
+
const parsed = Number(value);
|
|
38
|
+
if (!Number.isSafeInteger(parsed) || parsed < 0) {
|
|
39
|
+
throw new PipelineError("expected-version must be a non-negative integer.", "JENKINS_GITOPS_ROLLOUT_INPUT_INVALID");
|
|
40
|
+
}
|
|
41
|
+
return parsed;
|
|
42
|
+
}
|
|
43
|
+
function desiredMode(value) {
|
|
44
|
+
const normalized = value?.trim().toUpperCase();
|
|
45
|
+
if (normalized !== "PLATFORM" && normalized !== "LEGACY") {
|
|
46
|
+
throw new PipelineError("desired-mode must be platform or legacy.", "JENKINS_GITOPS_ROLLOUT_INPUT_INVALID");
|
|
47
|
+
}
|
|
48
|
+
return normalized;
|
|
49
|
+
}
|
|
50
|
+
function resultMayBeUnknown(error) {
|
|
51
|
+
return error instanceof TypeError
|
|
52
|
+
|| (error instanceof PipelineError && ((error.status ?? 0) >= 500
|
|
53
|
+
|| (error.status != null && error.status >= 200 && error.status < 300
|
|
54
|
+
&& error.code === "JENKINS_GITOPS_ROLLOUT_INVALID_RESPONSE")));
|
|
55
|
+
}
|
|
56
|
+
function resultUnknown(error, message) {
|
|
57
|
+
return new PipelineError(message, "JENKINS_GITOPS_ROLLOUT_RESULT_UNKNOWN", error instanceof PipelineError ? error.status : undefined, error instanceof PipelineError ? error.requestId : undefined);
|
|
58
|
+
}
|
|
59
|
+
function snakeCase(key) { return key.replace(/([a-z0-9])([A-Z])/gu, "$1_$2").toLowerCase(); }
|
|
60
|
+
function stableOutput(value) {
|
|
61
|
+
const safe = sanitizePipelineOutput(value);
|
|
62
|
+
if (Array.isArray(safe))
|
|
63
|
+
return safe.map(stableOutput);
|
|
64
|
+
if (safe && typeof safe === "object") {
|
|
65
|
+
return Object.fromEntries(Object.entries(safe).map(([key, item]) => [snakeCase(key), stableOutput(item)]));
|
|
66
|
+
}
|
|
67
|
+
return safe;
|
|
68
|
+
}
|
|
69
|
+
async function jsonEnabled(command) {
|
|
70
|
+
return Boolean(command.optsWithGlobals().json || (await loadAppConfig()).output === "json");
|
|
71
|
+
}
|
|
72
|
+
async function output(command, payload, textValue) {
|
|
73
|
+
if (await jsonEnabled(command))
|
|
74
|
+
process.stdout.write(`${JSON.stringify(stableOutput(payload), null, 2)}\n`);
|
|
75
|
+
else
|
|
76
|
+
process.stdout.write(`${String(sanitizePipelineOutput(textValue))}\n`);
|
|
77
|
+
}
|
|
78
|
+
function addExamples(command, examples, notes = []) {
|
|
79
|
+
const noteSection = notes.length ? `\n说明:\n${notes.map((item) => ` - ${item}`).join("\n")}\n` : "";
|
|
80
|
+
return command.addHelpText("after", `${noteSection}\nExamples:\n${examples.map((item) => ` ${item}`).join("\n")}\n`);
|
|
81
|
+
}
|
|
82
|
+
export function publicJenkinsGitopsRolloutPlan(result) {
|
|
83
|
+
return {
|
|
84
|
+
plan_no: result.planNo,
|
|
85
|
+
operation: result.operation,
|
|
86
|
+
state: result.state,
|
|
87
|
+
plan_hash: result.planHash,
|
|
88
|
+
application_code: result.applicationCode,
|
|
89
|
+
instance_code: result.instanceCode,
|
|
90
|
+
contract_version: result.contractVersion,
|
|
91
|
+
shared_library_revision: result.sharedLibraryRevision,
|
|
92
|
+
verification_mode: "verificationMode" in result.readiness ? result.readiness.verificationMode : null,
|
|
93
|
+
blockers: result.blockers,
|
|
94
|
+
side_effects: result.sideEffects,
|
|
95
|
+
expires_at: result.expiresAt
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export function publicJenkinsGitopsRollout(result) {
|
|
99
|
+
return {
|
|
100
|
+
rollout_no: result.rolloutNo,
|
|
101
|
+
application_code: result.applicationCode,
|
|
102
|
+
instance_code: result.instanceCode,
|
|
103
|
+
desired_mode: result.desiredMode,
|
|
104
|
+
status: result.status,
|
|
105
|
+
contract_version: result.contractVersion,
|
|
106
|
+
shared_library_revision: result.sharedLibraryRevision,
|
|
107
|
+
verification_mode: result.verificationMode,
|
|
108
|
+
readiness_reference: result.readinessReference,
|
|
109
|
+
attested_at: result.attestedAt,
|
|
110
|
+
version: result.version,
|
|
111
|
+
expected_public_configuration: result.expectedPublicConfiguration,
|
|
112
|
+
expected_credential_references: result.expectedCredentialReferences,
|
|
113
|
+
required_operator_actions: result.requiredOperatorActions
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function attestationFrom(current, mode, expectedVersion, operatorActionReference) {
|
|
117
|
+
if (current.verificationMode !== "MANUAL_OPERATOR_ATTESTED") {
|
|
118
|
+
throw new PipelineError("This rollout is migration evidence, not a manual readiness attestation target.", "JENKINS_GITOPS_ROLLOUT_ATTESTATION_FORBIDDEN");
|
|
119
|
+
}
|
|
120
|
+
if (current.version !== expectedVersion) {
|
|
121
|
+
throw new PipelineError("expected-version does not match the current rollout version; inspect it again.", "JENKINS_GITOPS_ROLLOUT_VERSION_MISMATCH");
|
|
122
|
+
}
|
|
123
|
+
if (current.desiredMode !== mode) {
|
|
124
|
+
throw new PipelineError("desired-mode does not match the current rollout registration.", "JENKINS_GITOPS_ROLLOUT_MODE_MISMATCH");
|
|
125
|
+
}
|
|
126
|
+
if (mode === "LEGACY") {
|
|
127
|
+
if (current.status !== "LEGACY_ACTION_REQUIRED") {
|
|
128
|
+
throw new PipelineError("Legacy readiness requires LEGACY_ACTION_REQUIRED after the exact allow-list entry is removed.", "JENKINS_GITOPS_ROLLOUT_NOT_ATTESTABLE");
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
expectedVersion,
|
|
132
|
+
desiredMode: "LEGACY",
|
|
133
|
+
contractVersion: null,
|
|
134
|
+
sharedLibraryRevision: null,
|
|
135
|
+
platformUrl: null,
|
|
136
|
+
oidcEndpoint: null,
|
|
137
|
+
jenkinsInstanceCode: null,
|
|
138
|
+
audience: null,
|
|
139
|
+
rolloutMode: null,
|
|
140
|
+
legacyFallback: null,
|
|
141
|
+
writerCredentialReference: null,
|
|
142
|
+
fluxGitCredentialReference: null,
|
|
143
|
+
rolloutEntry: null,
|
|
144
|
+
rolloutEntryPresent: false,
|
|
145
|
+
operatorActionReference
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (current.status !== "ACTION_REQUIRED") {
|
|
149
|
+
throw new PipelineError("Platform readiness requires ACTION_REQUIRED after completing the listed Jenkins operator actions.", "JENKINS_GITOPS_ROLLOUT_NOT_ATTESTABLE");
|
|
150
|
+
}
|
|
151
|
+
const publicConfig = JenkinsGitopsExpectedPublicConfigurationSchema.safeParse(current.expectedPublicConfiguration);
|
|
152
|
+
const credentialRefs = JenkinsGitopsExpectedCredentialReferencesSchema.safeParse(current.expectedCredentialReferences);
|
|
153
|
+
if (!publicConfig.success || !credentialRefs.success) {
|
|
154
|
+
throw new PipelineError("The rollout response does not contain the exact governed readiness tuple.", "JENKINS_GITOPS_ROLLOUT_INVALID_RESPONSE");
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
expectedVersion,
|
|
158
|
+
desiredMode: "PLATFORM",
|
|
159
|
+
...publicConfig.data,
|
|
160
|
+
...credentialRefs.data,
|
|
161
|
+
rolloutEntryPresent: true,
|
|
162
|
+
operatorActionReference
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export function registerJenkinsGitopsRolloutCommands(jenkins, dependencies = {}) {
|
|
166
|
+
const client = () => dependencies.clientFactory?.() ?? new JenkinsGitopsRolloutClient(loadConfig());
|
|
167
|
+
const rollout = jenkins.command("gitops-rollout")
|
|
168
|
+
.description("管理单应用 Jenkins GitOps image writer 受治理 rollout")
|
|
169
|
+
.addHelpText("after", `
|
|
170
|
+
安全边界:
|
|
171
|
+
plan/apply/readiness 仅对 ops-admin 开放,每次写入都要求 Idempotency-Key 和 --yes。
|
|
172
|
+
apply 只持久化 fail-closed rollout gate;不连接 Jenkins、不改全局配置、不触发 build。
|
|
173
|
+
readiness 是 MANUAL_OPERATOR_ATTESTED,不是 Jenkins live-read;CLI 不接受 secret value、raw XML 或 env map。
|
|
174
|
+
`);
|
|
175
|
+
const plan = rollout.command("plan").description("创建或读取不可变 Jenkins GitOps rollout plan");
|
|
176
|
+
addExamples(plan.command("get <plan-no>").description("读取 rollout plan")
|
|
177
|
+
.action(async (planNo, _options, command) => {
|
|
178
|
+
const result = await client().getPlan(planNo);
|
|
179
|
+
const safe = publicJenkinsGitopsRolloutPlan(result);
|
|
180
|
+
await output(command, { ok: true, plan: safe }, `${safe.plan_no}\t${safe.operation}\t${safe.state}\t${safe.plan_hash}`);
|
|
181
|
+
}), ["numa jenkins gitops-rollout plan get jgplan_01 --json"]);
|
|
182
|
+
addExamples(plan.command("enable-platform")
|
|
183
|
+
.description("规划为单应用启用 fail-closed platform image writer")
|
|
184
|
+
.requiredOption("--application <code>", "Application stable code")
|
|
185
|
+
.requiredOption("--instance <code>", "Jenkins instance stable code")
|
|
186
|
+
.requiredOption("--shared-library-revision <40hex>", "服务端批准的 shared-library 完整 commit")
|
|
187
|
+
.requiredOption("--idempotency-key <key>", "稳定幂等键")
|
|
188
|
+
.option("--yes", "确认创建持久化 plan")
|
|
189
|
+
.action(async (options, command) => {
|
|
190
|
+
requireYes(options.yes);
|
|
191
|
+
let result;
|
|
192
|
+
try {
|
|
193
|
+
result = await client().createPlan({
|
|
194
|
+
operation: "ENABLE_PLATFORM",
|
|
195
|
+
applicationCode: options.application,
|
|
196
|
+
instanceCode: options.instance,
|
|
197
|
+
contractVersion: "gitops-image-delivery/v1",
|
|
198
|
+
sharedLibraryRevision: sharedLibraryRevision(options.sharedLibraryRevision)
|
|
199
|
+
}, safeKey(options.idempotencyKey));
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
if (!resultMayBeUnknown(error))
|
|
203
|
+
throw error;
|
|
204
|
+
throw resultUnknown(error, "Rollout plan result is unknown and there is no resolve-by-key endpoint. Inspect plan get when a plan number is available and rollout list/get before any replay; do not create another plan automatically.");
|
|
205
|
+
}
|
|
206
|
+
const safe = publicJenkinsGitopsRolloutPlan(result);
|
|
207
|
+
await output(command, { ok: result.state === "READY", plan: safe }, `${safe.plan_no}\t${safe.state}\t${safe.plan_hash}\t${safe.blockers.length} blocker(s)`);
|
|
208
|
+
}), ["numa jenkins gitops-rollout plan enable-platform --application code-index --instance numa --shared-library-revision 230e0f00444dfd1874e1ab3e624381341a0c31c5 --idempotency-key code-index-rollout-plan-1 --yes --json"]);
|
|
209
|
+
addExamples(plan.command("keep-legacy")
|
|
210
|
+
.description("规划保持或退回单应用 legacy writer gate")
|
|
211
|
+
.requiredOption("--application <code>", "Application stable code")
|
|
212
|
+
.requiredOption("--instance <code>", "Jenkins instance stable code")
|
|
213
|
+
.requiredOption("--idempotency-key <key>", "稳定幂等键")
|
|
214
|
+
.option("--yes", "确认创建持久化 plan")
|
|
215
|
+
.action(async (options, command) => {
|
|
216
|
+
requireYes(options.yes);
|
|
217
|
+
let result;
|
|
218
|
+
try {
|
|
219
|
+
result = await client().createPlan({
|
|
220
|
+
operation: "KEEP_LEGACY",
|
|
221
|
+
applicationCode: options.application,
|
|
222
|
+
instanceCode: options.instance
|
|
223
|
+
}, safeKey(options.idempotencyKey));
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
if (!resultMayBeUnknown(error))
|
|
227
|
+
throw error;
|
|
228
|
+
throw resultUnknown(error, "Rollout plan result is unknown and there is no resolve-by-key endpoint. Inspect plan get when a plan number is available and rollout list/get before any replay; do not create another plan automatically.");
|
|
229
|
+
}
|
|
230
|
+
const safe = publicJenkinsGitopsRolloutPlan(result);
|
|
231
|
+
await output(command, { ok: result.state === "READY", plan: safe }, `${safe.plan_no}\t${safe.state}\t${safe.plan_hash}\t${safe.blockers.length} blocker(s)`);
|
|
232
|
+
}), ["numa jenkins gitops-rollout plan keep-legacy --application code-index --instance numa --idempotency-key code-index-legacy-plan-1 --yes --json"]);
|
|
233
|
+
addExamples(rollout.command("apply")
|
|
234
|
+
.description("执行已审阅 READY plan;只持久化 rollout gate")
|
|
235
|
+
.requiredOption("--plan-no <number>", "服务端 plan 编号")
|
|
236
|
+
.requiredOption("--plan-hash <64hex>", "服务端精确 plan hash")
|
|
237
|
+
.requiredOption("--idempotency-key <key>", "稳定幂等键")
|
|
238
|
+
.option("--yes", "确认持久化 rollout gate")
|
|
239
|
+
.action(async (options, command) => {
|
|
240
|
+
requireYes(options.yes);
|
|
241
|
+
const hash = planHash(options.planHash);
|
|
242
|
+
const rolloutClient = client();
|
|
243
|
+
const current = await rolloutClient.getPlan(options.planNo);
|
|
244
|
+
if (current.planHash !== hash)
|
|
245
|
+
throw new PipelineError("plan-hash does not match the current immutable rollout plan.", "JENKINS_GITOPS_ROLLOUT_PLAN_HASH_MISMATCH");
|
|
246
|
+
if (current.state !== "READY" || current.blockers.length > 0)
|
|
247
|
+
throw new PipelineError("rollout plan is not READY or contains blockers.", "JENKINS_GITOPS_ROLLOUT_PLAN_NOT_READY");
|
|
248
|
+
const baseline = await rolloutClient.list({
|
|
249
|
+
applicationCode: current.applicationCode,
|
|
250
|
+
instanceCode: current.instanceCode
|
|
251
|
+
});
|
|
252
|
+
let result;
|
|
253
|
+
let recoveredFromStatus = false;
|
|
254
|
+
try {
|
|
255
|
+
result = await rolloutClient.apply({ planNo: current.planNo, planHash: hash }, safeKey(options.idempotencyKey));
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
if (!resultMayBeUnknown(error))
|
|
259
|
+
throw error;
|
|
260
|
+
let candidates;
|
|
261
|
+
try {
|
|
262
|
+
candidates = await rolloutClient.list({
|
|
263
|
+
applicationCode: current.applicationCode,
|
|
264
|
+
instanceCode: current.instanceCode
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
throw resultUnknown(error, "Rollout apply result is unknown. Read-only list recovery failed; use jenkins gitops-rollout list/get for the exact application and instance before any replay.");
|
|
269
|
+
}
|
|
270
|
+
const expectedMode = current.operation === "ENABLE_PLATFORM" ? "PLATFORM" : "LEGACY";
|
|
271
|
+
const exact = candidates.filter((candidate) => candidate.applicationCode === current.applicationCode
|
|
272
|
+
&& candidate.instanceCode === current.instanceCode
|
|
273
|
+
&& candidate.desiredMode === expectedMode
|
|
274
|
+
&& candidate.contractVersion === current.contractVersion
|
|
275
|
+
&& candidate.sharedLibraryRevision === current.sharedLibraryRevision);
|
|
276
|
+
const before = baseline.find((candidate) => candidate.applicationCode === current.applicationCode
|
|
277
|
+
&& candidate.instanceCode === current.instanceCode);
|
|
278
|
+
const candidate = exact.length === 1 ? exact[0] : undefined;
|
|
279
|
+
if (!candidate || (before != null && candidate.version <= before.version)) {
|
|
280
|
+
throw resultUnknown(error, "Rollout apply result is unknown. Status recovery did not find one exact application/instance/plan-mode registration with a newer durable version; do not replay the write.");
|
|
281
|
+
}
|
|
282
|
+
result = candidate;
|
|
283
|
+
recoveredFromStatus = true;
|
|
284
|
+
}
|
|
285
|
+
const safe = publicJenkinsGitopsRollout(result);
|
|
286
|
+
await output(command, { ok: true, recovered_from_status: recoveredFromStatus, rollout: safe }, `${safe.rollout_no}\t${safe.desired_mode}\t${safe.status}\tv${safe.version}`);
|
|
287
|
+
}), ["numa jenkins gitops-rollout apply --plan-no jgplan_01 --plan-hash <64hex> --idempotency-key code-index-rollout-apply-1 --yes --json"], [
|
|
288
|
+
"响应不明时先用 list/get 核对 application/instance/mode/version;不要换键或新建 plan。"
|
|
289
|
+
]);
|
|
290
|
+
addExamples(rollout.command("list")
|
|
291
|
+
.description("列出 Jenkins GitOps rollout registrations")
|
|
292
|
+
.option("--application <code>", "按 Application code 过滤")
|
|
293
|
+
.option("--instance <code>", "按 Jenkins instance code 过滤")
|
|
294
|
+
.action(async (options, command) => {
|
|
295
|
+
const result = await client().list({ applicationCode: options.application, instanceCode: options.instance });
|
|
296
|
+
const safe = result.map(publicJenkinsGitopsRollout);
|
|
297
|
+
await output(command, { ok: true, rollouts: safe }, safe.map((item) => `${item.rollout_no}\t${item.application_code}\t${item.instance_code}\t${item.status}`).join("\n") || "没有 rollout registrations");
|
|
298
|
+
}), ["numa jenkins gitops-rollout list --application code-index --instance numa --json"]);
|
|
299
|
+
addExamples(rollout.command("get <rollout-no>")
|
|
300
|
+
.description("读取 rollout 状态、exact governed tuple 和 operator actions")
|
|
301
|
+
.action(async (rolloutNo, _options, command) => {
|
|
302
|
+
const result = await client().get(rolloutNo);
|
|
303
|
+
const safe = publicJenkinsGitopsRollout(result);
|
|
304
|
+
await output(command, { ok: true, rollout: safe }, `${safe.rollout_no}\t${safe.desired_mode}\t${safe.status}\t${safe.verification_mode}\tv${safe.version}`);
|
|
305
|
+
}), ["numa jenkins gitops-rollout get jgroll_01 --json"]);
|
|
306
|
+
addExamples(rollout.command("readiness <rollout-no>")
|
|
307
|
+
.description("提交 ops-admin trusted readiness attestation(非 Jenkins live-read)")
|
|
308
|
+
.requiredOption("--desired-mode <mode>", "platform|legacy")
|
|
309
|
+
.requiredOption("--expected-version <version>", "get 返回的当前乐观锁版本")
|
|
310
|
+
.requiredOption("--operator-action-reference <reference>", "10-240 字符的外部变更/审批记录引用")
|
|
311
|
+
.requiredOption("--idempotency-key <key>", "稳定幂等键")
|
|
312
|
+
.option("--yes", "确认已在 Jenkins 可信管理面完成 exact operator actions")
|
|
313
|
+
.action(async (rolloutNo, options, command) => {
|
|
314
|
+
requireYes(options.yes);
|
|
315
|
+
const rolloutClient = client();
|
|
316
|
+
const current = await rolloutClient.get(rolloutNo);
|
|
317
|
+
const request = attestationFrom(current, desiredMode(options.desiredMode), version(options.expectedVersion), options.operatorActionReference.trim());
|
|
318
|
+
let result;
|
|
319
|
+
let recoveredFromStatus = false;
|
|
320
|
+
try {
|
|
321
|
+
result = await rolloutClient.attest(current.rolloutNo, request, safeKey(options.idempotencyKey));
|
|
322
|
+
}
|
|
323
|
+
catch (error) {
|
|
324
|
+
if (!resultMayBeUnknown(error))
|
|
325
|
+
throw error;
|
|
326
|
+
let recovered;
|
|
327
|
+
try {
|
|
328
|
+
recovered = await rolloutClient.get(current.rolloutNo);
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
throw resultUnknown(error, "Readiness result is unknown. Read-only get recovery failed; inspect the same rollout before any replay.");
|
|
332
|
+
}
|
|
333
|
+
const expectedStatus = request.desiredMode === "PLATFORM" ? "READY" : "LEGACY";
|
|
334
|
+
if (recovered.rolloutNo !== current.rolloutNo
|
|
335
|
+
|| recovered.applicationCode !== current.applicationCode
|
|
336
|
+
|| recovered.instanceCode !== current.instanceCode
|
|
337
|
+
|| recovered.desiredMode !== request.desiredMode
|
|
338
|
+
|| recovered.status !== expectedStatus
|
|
339
|
+
|| recovered.verificationMode !== "MANUAL_OPERATOR_ATTESTED"
|
|
340
|
+
|| recovered.readinessReference !== request.operatorActionReference
|
|
341
|
+
|| recovered.version <= current.version
|
|
342
|
+
|| recovered.contractVersion !== current.contractVersion
|
|
343
|
+
|| recovered.sharedLibraryRevision !== current.sharedLibraryRevision) {
|
|
344
|
+
throw resultUnknown(error, "Readiness result is unknown. The same rollout does not show the exact attestation reference, intended mode/status, identity, and a newer durable version; do not replay the write.");
|
|
345
|
+
}
|
|
346
|
+
result = recovered;
|
|
347
|
+
recoveredFromStatus = true;
|
|
348
|
+
}
|
|
349
|
+
const safe = publicJenkinsGitopsRollout(result);
|
|
350
|
+
await output(command, { ok: safe.status === "READY" || safe.status === "LEGACY", recovered_from_status: recoveredFromStatus, rollout: safe }, `${safe.rollout_no}\t${safe.status}\t${safe.verification_mode}\tv${safe.version}`);
|
|
351
|
+
}), ["numa jenkins gitops-rollout readiness jgroll_01 --desired-mode platform --expected-version 0 --operator-action-reference CHG-20260824-001 --idempotency-key code-index-readiness-1 --yes --json"], [
|
|
352
|
+
"CLI 从 get 结果回传 exact public tuple 和固定 credential reference names;不接受 secret/XML/env map 或 credential values。",
|
|
353
|
+
"MANUAL_OPERATOR_ATTESTED 只表示 ops-admin 对 Jenkins 外部操作负责,不表示平台读取了 Jenkins live state。",
|
|
354
|
+
"响应不明时先 GET 同一 rollout;只有 exact reference/mode/status/identity 且 version 增长才报告恢复,否则 fail closed。",
|
|
355
|
+
"未达 READY/LEGACY 前不得触发首次 build 或 production approval 流程。"
|
|
356
|
+
]);
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/jenkins-gitops-rollouts/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const JenkinsGitopsRolloutOperationSchema: z.ZodEnum<{
|
|
3
|
+
ENABLE_PLATFORM: "ENABLE_PLATFORM";
|
|
4
|
+
KEEP_LEGACY: "KEEP_LEGACY";
|
|
5
|
+
}>;
|
|
6
|
+
export declare const JenkinsGitopsRolloutPlanStateSchema: z.ZodEnum<{
|
|
7
|
+
BLOCKED: "BLOCKED";
|
|
8
|
+
CONSUMED: "CONSUMED";
|
|
9
|
+
EXPIRED: "EXPIRED";
|
|
10
|
+
READY: "READY";
|
|
11
|
+
}>;
|
|
12
|
+
export declare const JenkinsGitopsRolloutDesiredModeSchema: z.ZodEnum<{
|
|
13
|
+
GRANDFATHERED: "GRANDFATHERED";
|
|
14
|
+
LEGACY: "LEGACY";
|
|
15
|
+
PLATFORM: "PLATFORM";
|
|
16
|
+
}>;
|
|
17
|
+
export declare const JenkinsGitopsRolloutStatusSchema: z.ZodEnum<{
|
|
18
|
+
ACTION_REQUIRED: "ACTION_REQUIRED";
|
|
19
|
+
GRANDFATHERED_ACTIVE: "GRANDFATHERED_ACTIVE";
|
|
20
|
+
LEGACY: "LEGACY";
|
|
21
|
+
LEGACY_ACTION_REQUIRED: "LEGACY_ACTION_REQUIRED";
|
|
22
|
+
READY: "READY";
|
|
23
|
+
STALE: "STALE";
|
|
24
|
+
}>;
|
|
25
|
+
export declare const JenkinsGitopsRolloutPlanRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
26
|
+
operation: z.ZodLiteral<"ENABLE_PLATFORM">;
|
|
27
|
+
applicationCode: z.ZodString;
|
|
28
|
+
instanceCode: z.ZodString;
|
|
29
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
30
|
+
sharedLibraryRevision: z.ZodString;
|
|
31
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
32
|
+
operation: z.ZodLiteral<"KEEP_LEGACY">;
|
|
33
|
+
applicationCode: z.ZodString;
|
|
34
|
+
instanceCode: z.ZodString;
|
|
35
|
+
}, z.core.$strict>]>;
|
|
36
|
+
export declare const JenkinsGitopsRolloutApplyRequestSchema: z.ZodObject<{
|
|
37
|
+
planNo: z.ZodString;
|
|
38
|
+
planHash: z.ZodString;
|
|
39
|
+
}, z.core.$strict>;
|
|
40
|
+
export declare const JenkinsGitopsExpectedPublicConfigurationSchema: z.ZodObject<{
|
|
41
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
42
|
+
sharedLibraryRevision: z.ZodString;
|
|
43
|
+
platformUrl: z.ZodString;
|
|
44
|
+
oidcEndpoint: z.ZodString;
|
|
45
|
+
jenkinsInstanceCode: z.ZodString;
|
|
46
|
+
audience: z.ZodString;
|
|
47
|
+
rolloutMode: z.ZodLiteral<"platform">;
|
|
48
|
+
legacyFallback: z.ZodLiteral<false>;
|
|
49
|
+
rolloutEntry: z.ZodString;
|
|
50
|
+
}, z.core.$strict>;
|
|
51
|
+
export declare const JenkinsGitopsExpectedCredentialReferencesSchema: z.ZodObject<{
|
|
52
|
+
writerCredentialReference: z.ZodString;
|
|
53
|
+
fluxGitCredentialReference: z.ZodString;
|
|
54
|
+
}, z.core.$strict>;
|
|
55
|
+
export declare const JenkinsGitopsRolloutAttestationRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
56
|
+
expectedVersion: z.ZodNumber;
|
|
57
|
+
desiredMode: z.ZodLiteral<"PLATFORM">;
|
|
58
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
59
|
+
sharedLibraryRevision: z.ZodString;
|
|
60
|
+
platformUrl: z.ZodString;
|
|
61
|
+
oidcEndpoint: z.ZodString;
|
|
62
|
+
jenkinsInstanceCode: z.ZodString;
|
|
63
|
+
audience: z.ZodString;
|
|
64
|
+
rolloutMode: z.ZodLiteral<"platform">;
|
|
65
|
+
legacyFallback: z.ZodLiteral<false>;
|
|
66
|
+
writerCredentialReference: z.ZodString;
|
|
67
|
+
fluxGitCredentialReference: z.ZodString;
|
|
68
|
+
rolloutEntry: z.ZodString;
|
|
69
|
+
rolloutEntryPresent: z.ZodLiteral<true>;
|
|
70
|
+
operatorActionReference: z.ZodString;
|
|
71
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
72
|
+
expectedVersion: z.ZodNumber;
|
|
73
|
+
desiredMode: z.ZodLiteral<"LEGACY">;
|
|
74
|
+
contractVersion: z.ZodNull;
|
|
75
|
+
sharedLibraryRevision: z.ZodNull;
|
|
76
|
+
platformUrl: z.ZodNull;
|
|
77
|
+
oidcEndpoint: z.ZodNull;
|
|
78
|
+
jenkinsInstanceCode: z.ZodNull;
|
|
79
|
+
audience: z.ZodNull;
|
|
80
|
+
rolloutMode: z.ZodNull;
|
|
81
|
+
legacyFallback: z.ZodNull;
|
|
82
|
+
writerCredentialReference: z.ZodNull;
|
|
83
|
+
fluxGitCredentialReference: z.ZodNull;
|
|
84
|
+
rolloutEntry: z.ZodNull;
|
|
85
|
+
rolloutEntryPresent: z.ZodLiteral<false>;
|
|
86
|
+
operatorActionReference: z.ZodString;
|
|
87
|
+
}, z.core.$strict>]>;
|
|
88
|
+
export declare const JenkinsGitopsRolloutPlanSchema: z.ZodObject<{
|
|
89
|
+
planNo: z.ZodString;
|
|
90
|
+
operation: z.ZodEnum<{
|
|
91
|
+
ENABLE_PLATFORM: "ENABLE_PLATFORM";
|
|
92
|
+
KEEP_LEGACY: "KEEP_LEGACY";
|
|
93
|
+
}>;
|
|
94
|
+
state: z.ZodEnum<{
|
|
95
|
+
BLOCKED: "BLOCKED";
|
|
96
|
+
CONSUMED: "CONSUMED";
|
|
97
|
+
EXPIRED: "EXPIRED";
|
|
98
|
+
READY: "READY";
|
|
99
|
+
}>;
|
|
100
|
+
planHash: z.ZodString;
|
|
101
|
+
applicationCode: z.ZodString;
|
|
102
|
+
instanceCode: z.ZodString;
|
|
103
|
+
contractVersion: z.ZodNullable<z.ZodString>;
|
|
104
|
+
sharedLibraryRevision: z.ZodNullable<z.ZodString>;
|
|
105
|
+
readiness: z.ZodUnion<readonly [z.ZodObject<{
|
|
106
|
+
verificationMode: z.ZodLiteral<"MANUAL_OPERATOR_ATTESTED">;
|
|
107
|
+
publicConfiguration: z.ZodObject<{
|
|
108
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
109
|
+
sharedLibraryRevision: z.ZodString;
|
|
110
|
+
platformUrl: z.ZodString;
|
|
111
|
+
oidcEndpoint: z.ZodString;
|
|
112
|
+
jenkinsInstanceCode: z.ZodString;
|
|
113
|
+
audience: z.ZodString;
|
|
114
|
+
rolloutMode: z.ZodLiteral<"platform">;
|
|
115
|
+
legacyFallback: z.ZodLiteral<false>;
|
|
116
|
+
rolloutEntry: z.ZodString;
|
|
117
|
+
}, z.core.$strict>;
|
|
118
|
+
credentialReferences: z.ZodObject<{
|
|
119
|
+
writerCredentialReference: z.ZodString;
|
|
120
|
+
fluxGitCredentialReference: z.ZodString;
|
|
121
|
+
}, z.core.$strict>;
|
|
122
|
+
}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>;
|
|
123
|
+
sideEffects: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
124
|
+
blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
125
|
+
expiresAt: z.ZodNullable<z.ZodString>;
|
|
126
|
+
}, z.core.$strict>;
|
|
127
|
+
export declare const JenkinsGitopsRolloutSchema: z.ZodObject<{
|
|
128
|
+
rolloutNo: z.ZodString;
|
|
129
|
+
applicationCode: z.ZodString;
|
|
130
|
+
instanceCode: z.ZodString;
|
|
131
|
+
desiredMode: z.ZodEnum<{
|
|
132
|
+
GRANDFATHERED: "GRANDFATHERED";
|
|
133
|
+
LEGACY: "LEGACY";
|
|
134
|
+
PLATFORM: "PLATFORM";
|
|
135
|
+
}>;
|
|
136
|
+
status: z.ZodEnum<{
|
|
137
|
+
ACTION_REQUIRED: "ACTION_REQUIRED";
|
|
138
|
+
GRANDFATHERED_ACTIVE: "GRANDFATHERED_ACTIVE";
|
|
139
|
+
LEGACY: "LEGACY";
|
|
140
|
+
LEGACY_ACTION_REQUIRED: "LEGACY_ACTION_REQUIRED";
|
|
141
|
+
READY: "READY";
|
|
142
|
+
STALE: "STALE";
|
|
143
|
+
}>;
|
|
144
|
+
contractVersion: z.ZodNullable<z.ZodString>;
|
|
145
|
+
sharedLibraryRevision: z.ZodNullable<z.ZodString>;
|
|
146
|
+
verificationMode: z.ZodEnum<{
|
|
147
|
+
MANUAL_OPERATOR_ATTESTED: "MANUAL_OPERATOR_ATTESTED";
|
|
148
|
+
MIGRATION_EXISTING_ACTIVE_CONTRACT: "MIGRATION_EXISTING_ACTIVE_CONTRACT";
|
|
149
|
+
}>;
|
|
150
|
+
readinessReference: z.ZodNullable<z.ZodString>;
|
|
151
|
+
attestedAt: z.ZodNullable<z.ZodString>;
|
|
152
|
+
version: z.ZodNumber;
|
|
153
|
+
expectedPublicConfiguration: z.ZodUnion<readonly [z.ZodObject<{
|
|
154
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
155
|
+
sharedLibraryRevision: z.ZodString;
|
|
156
|
+
platformUrl: z.ZodString;
|
|
157
|
+
oidcEndpoint: z.ZodString;
|
|
158
|
+
jenkinsInstanceCode: z.ZodString;
|
|
159
|
+
audience: z.ZodString;
|
|
160
|
+
rolloutMode: z.ZodLiteral<"platform">;
|
|
161
|
+
legacyFallback: z.ZodLiteral<false>;
|
|
162
|
+
rolloutEntry: z.ZodString;
|
|
163
|
+
}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>;
|
|
164
|
+
expectedCredentialReferences: z.ZodUnion<readonly [z.ZodObject<{
|
|
165
|
+
writerCredentialReference: z.ZodString;
|
|
166
|
+
fluxGitCredentialReference: z.ZodString;
|
|
167
|
+
}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>;
|
|
168
|
+
requiredOperatorActions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
169
|
+
}, z.core.$strict>;
|
|
170
|
+
export declare const JenkinsGitopsRolloutListSchema: z.ZodArray<z.ZodObject<{
|
|
171
|
+
rolloutNo: z.ZodString;
|
|
172
|
+
applicationCode: z.ZodString;
|
|
173
|
+
instanceCode: z.ZodString;
|
|
174
|
+
desiredMode: z.ZodEnum<{
|
|
175
|
+
GRANDFATHERED: "GRANDFATHERED";
|
|
176
|
+
LEGACY: "LEGACY";
|
|
177
|
+
PLATFORM: "PLATFORM";
|
|
178
|
+
}>;
|
|
179
|
+
status: z.ZodEnum<{
|
|
180
|
+
ACTION_REQUIRED: "ACTION_REQUIRED";
|
|
181
|
+
GRANDFATHERED_ACTIVE: "GRANDFATHERED_ACTIVE";
|
|
182
|
+
LEGACY: "LEGACY";
|
|
183
|
+
LEGACY_ACTION_REQUIRED: "LEGACY_ACTION_REQUIRED";
|
|
184
|
+
READY: "READY";
|
|
185
|
+
STALE: "STALE";
|
|
186
|
+
}>;
|
|
187
|
+
contractVersion: z.ZodNullable<z.ZodString>;
|
|
188
|
+
sharedLibraryRevision: z.ZodNullable<z.ZodString>;
|
|
189
|
+
verificationMode: z.ZodEnum<{
|
|
190
|
+
MANUAL_OPERATOR_ATTESTED: "MANUAL_OPERATOR_ATTESTED";
|
|
191
|
+
MIGRATION_EXISTING_ACTIVE_CONTRACT: "MIGRATION_EXISTING_ACTIVE_CONTRACT";
|
|
192
|
+
}>;
|
|
193
|
+
readinessReference: z.ZodNullable<z.ZodString>;
|
|
194
|
+
attestedAt: z.ZodNullable<z.ZodString>;
|
|
195
|
+
version: z.ZodNumber;
|
|
196
|
+
expectedPublicConfiguration: z.ZodUnion<readonly [z.ZodObject<{
|
|
197
|
+
contractVersion: z.ZodLiteral<"gitops-image-delivery/v1">;
|
|
198
|
+
sharedLibraryRevision: z.ZodString;
|
|
199
|
+
platformUrl: z.ZodString;
|
|
200
|
+
oidcEndpoint: z.ZodString;
|
|
201
|
+
jenkinsInstanceCode: z.ZodString;
|
|
202
|
+
audience: z.ZodString;
|
|
203
|
+
rolloutMode: z.ZodLiteral<"platform">;
|
|
204
|
+
legacyFallback: z.ZodLiteral<false>;
|
|
205
|
+
rolloutEntry: z.ZodString;
|
|
206
|
+
}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>;
|
|
207
|
+
expectedCredentialReferences: z.ZodUnion<readonly [z.ZodObject<{
|
|
208
|
+
writerCredentialReference: z.ZodString;
|
|
209
|
+
fluxGitCredentialReference: z.ZodString;
|
|
210
|
+
}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>;
|
|
211
|
+
requiredOperatorActions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
212
|
+
}, z.core.$strict>>;
|
|
213
|
+
export type JenkinsGitopsRolloutPlanRequest = z.infer<typeof JenkinsGitopsRolloutPlanRequestSchema>;
|
|
214
|
+
export type JenkinsGitopsRolloutApplyRequest = z.infer<typeof JenkinsGitopsRolloutApplyRequestSchema>;
|
|
215
|
+
export type JenkinsGitopsRolloutAttestationRequest = z.infer<typeof JenkinsGitopsRolloutAttestationRequestSchema>;
|
|
216
|
+
export type JenkinsGitopsRolloutPlan = z.infer<typeof JenkinsGitopsRolloutPlanSchema>;
|
|
217
|
+
export type JenkinsGitopsRollout = z.infer<typeof JenkinsGitopsRolloutSchema>;
|