@numa-tech/numa 1.12.11 → 1.13.0
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 +83 -2
- package/dist/application-onboarding/client.d.ts +83 -8
- package/dist/application-onboarding/client.js +23 -1
- package/dist/application-onboarding/client.js.map +1 -1
- package/dist/application-onboarding/commands.js +66 -4
- package/dist/application-onboarding/commands.js.map +1 -1
- package/dist/application-onboarding/schemas.d.ts +301 -58
- package/dist/application-onboarding/schemas.js +134 -8
- package/dist/application-onboarding/schemas.js.map +1 -1
- package/dist/application-onboarding/tui-model.d.ts +18 -0
- package/dist/application-onboarding/tui-model.js +215 -3
- package/dist/application-onboarding/tui-model.js.map +1 -1
- package/dist/application-onboarding/tui.d.ts +1 -1
- package/dist/application-onboarding/tui.js +20 -6
- package/dist/application-onboarding/tui.js.map +1 -1
- package/dist/cli.js +50 -8
- package/dist/cli.js.map +1 -1
- package/dist/clusters/client.d.ts +436 -0
- package/dist/clusters/client.js +207 -0
- package/dist/clusters/client.js.map +1 -0
- package/dist/clusters/commands.d.ts +11 -0
- package/dist/clusters/commands.js +373 -0
- package/dist/clusters/commands.js.map +1 -0
- package/dist/clusters/errors.d.ts +10 -0
- package/dist/clusters/errors.js +61 -0
- package/dist/clusters/errors.js.map +1 -0
- package/dist/clusters/kubeconfig-discovery.d.ts +48 -0
- package/dist/clusters/kubeconfig-discovery.js +280 -0
- package/dist/clusters/kubeconfig-discovery.js.map +1 -0
- package/dist/clusters/schemas.d.ts +510 -0
- package/dist/clusters/schemas.js +201 -0
- package/dist/clusters/schemas.js.map +1 -0
- package/dist/command-catalog.js +354 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/gitops/client.d.ts +499 -0
- package/dist/gitops/client.js +163 -0
- package/dist/gitops/client.js.map +1 -0
- package/dist/gitops/commands.d.ts +11 -0
- package/dist/gitops/commands.js +367 -0
- package/dist/gitops/commands.js.map +1 -0
- package/dist/gitops/errors.d.ts +10 -0
- package/dist/gitops/errors.js +59 -0
- package/dist/gitops/errors.js.map +1 -0
- package/dist/gitops/schemas.d.ts +1712 -0
- package/dist/gitops/schemas.js +360 -0
- package/dist/gitops/schemas.js.map +1 -0
- package/dist/repositories/client.d.ts +540 -0
- package/dist/repositories/client.js +215 -0
- package/dist/repositories/client.js.map +1 -0
- package/dist/repositories/commands.d.ts +10 -0
- package/dist/repositories/commands.js +347 -0
- package/dist/repositories/commands.js.map +1 -0
- package/dist/repositories/errors.d.ts +10 -0
- package/dist/repositories/errors.js +60 -0
- package/dist/repositories/errors.js.map +1 -0
- package/dist/repositories/schemas.d.ts +1692 -0
- package/dist/repositories/schemas.js +255 -0
- package/dist/repositories/schemas.js.map +1 -0
- package/package.json +4 -4
|
@@ -93,7 +93,7 @@ function reportUnsafeInput(value, context, path = []) {
|
|
|
93
93
|
export const CredentialFreeOnboardingValueSchema = z.unknown().superRefine((value, context) => {
|
|
94
94
|
reportUnsafeInput(value, context);
|
|
95
95
|
});
|
|
96
|
-
|
|
96
|
+
const OnboardingSpecV1Schema = z.object({
|
|
97
97
|
schemaVersion: z.literal(1),
|
|
98
98
|
mode: OnboardingModeSchema,
|
|
99
99
|
application: z.object({
|
|
@@ -149,6 +149,85 @@ export const OnboardingSpecSchema = z.object({
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
|
+
const OnboardingSpecV2Schema = z.object({
|
|
153
|
+
schemaVersion: z.literal(2),
|
|
154
|
+
mode: OnboardingModeSchema,
|
|
155
|
+
application: z.object({
|
|
156
|
+
code: z.string().trim().min(1).max(160),
|
|
157
|
+
name: z.string().trim().min(1).max(240),
|
|
158
|
+
teamId: z.number().int().positive(),
|
|
159
|
+
systemId: z.number().int().positive(),
|
|
160
|
+
defaultEnvironmentId: z.number().int().positive().optional()
|
|
161
|
+
}).passthrough(),
|
|
162
|
+
repositoryStrategy: z.enum(["CREATE_NEW", "ATTACH_EXISTING"]),
|
|
163
|
+
projectStrategy: z.enum(["BOOTSTRAP_TEMPLATE", "ADD_MODULE_CHANGE", "ASSESS_ONLY"]),
|
|
164
|
+
repositoryPlanRef: z.object({
|
|
165
|
+
planNo: z.string().trim().min(1).max(160),
|
|
166
|
+
planHash: z.string().trim().regex(/^[0-9a-f]{64}$/u)
|
|
167
|
+
}).strict().optional(),
|
|
168
|
+
repositoryRef: z.object({
|
|
169
|
+
repositoryKey: z.string().trim().min(1).max(1_000),
|
|
170
|
+
expectedHead: z.string().trim().regex(/^[0-9a-fA-F]{40,64}$/u)
|
|
171
|
+
}).strict().optional(),
|
|
172
|
+
technology: z.object({
|
|
173
|
+
stackCode: z.string().trim().min(1).max(160),
|
|
174
|
+
templateCode: z.string().trim().min(1).max(160).optional(),
|
|
175
|
+
repoMode: z.enum(["STANDALONE", "ADD_MODULE", "ASSESS_ONLY"]).optional(),
|
|
176
|
+
parameters: JsonObjectSchema.optional()
|
|
177
|
+
}).passthrough(),
|
|
178
|
+
delivery: JsonObjectSchema.optional()
|
|
179
|
+
}).passthrough().superRefine((value, context) => {
|
|
180
|
+
reportUnsafeInput(value, context);
|
|
181
|
+
if ("repository" in value) {
|
|
182
|
+
context.addIssue({
|
|
183
|
+
code: "custom",
|
|
184
|
+
path: ["repository"],
|
|
185
|
+
message: "schemaVersion=2 uses repositoryPlanRef or repositoryRef; provider fields must stay in the Repository Control Plane."
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
const create = value.repositoryStrategy === "CREATE_NEW";
|
|
189
|
+
const expectedProject = value.mode === "EXISTING"
|
|
190
|
+
? "ASSESS_ONLY"
|
|
191
|
+
: create ? "BOOTSTRAP_TEMPLATE" : "ADD_MODULE_CHANGE";
|
|
192
|
+
if (value.projectStrategy !== expectedProject) {
|
|
193
|
+
context.addIssue({
|
|
194
|
+
code: "custom",
|
|
195
|
+
path: ["projectStrategy"],
|
|
196
|
+
message: `projectStrategy must be ${expectedProject} for this mode and repositoryStrategy.`
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
if (value.mode === "EXISTING" && create) {
|
|
200
|
+
context.addIssue({
|
|
201
|
+
code: "custom",
|
|
202
|
+
path: ["repositoryStrategy"],
|
|
203
|
+
message: "EXISTING onboarding must attach an already managed repository."
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
if (create) {
|
|
207
|
+
if (!value.repositoryPlanRef || value.repositoryRef) {
|
|
208
|
+
context.addIssue({
|
|
209
|
+
code: "custom",
|
|
210
|
+
path: ["repositoryPlanRef"],
|
|
211
|
+
message: "CREATE_NEW requires only the immutable repositoryPlanRef."
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else if (!value.repositoryRef || value.repositoryPlanRef) {
|
|
216
|
+
context.addIssue({
|
|
217
|
+
code: "custom",
|
|
218
|
+
path: ["repositoryRef"],
|
|
219
|
+
message: "ATTACH_EXISTING requires only repositoryKey and expectedHead."
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
if (value.mode === "NEW" && !value.technology.templateCode) {
|
|
223
|
+
context.addIssue({
|
|
224
|
+
code: "custom",
|
|
225
|
+
path: ["technology", "templateCode"],
|
|
226
|
+
message: "NEW onboarding requires technology.templateCode."
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
export const OnboardingSpecSchema = z.union([OnboardingSpecV1Schema, OnboardingSpecV2Schema]);
|
|
152
231
|
export const OnboardingSessionSchema = z.object({
|
|
153
232
|
sessionNo: z.string().trim().min(1),
|
|
154
233
|
mode: OnboardingModeSchema,
|
|
@@ -206,6 +285,19 @@ export const OnboardingEventOutputSchema = z.object({
|
|
|
206
285
|
warnCount: z.number().int().nonnegative().optional(),
|
|
207
286
|
jenkinsCandidateBindingIds: z.array(EventOutputIdentifierSchema).max(1_000).optional(),
|
|
208
287
|
jenkinsPendingTiers: z.array(EventOutputTextSchema).max(100).optional(),
|
|
288
|
+
gitopsPlanNumber: EventOutputTextSchema.optional(),
|
|
289
|
+
gitopsPlanHash: EventOutputTextSchema.optional(),
|
|
290
|
+
gitopsPlanFiles: z.array(EventOutputTextSchema).max(100).optional(),
|
|
291
|
+
gitopsWarnings: z.array(EventOutputTextSchema).max(100).optional(),
|
|
292
|
+
gitopsSideEffects: z.array(EventOutputTextSchema).max(100).optional(),
|
|
293
|
+
gitopsRunNo: EventOutputTextSchema.optional(),
|
|
294
|
+
gitopsLastEventSequence: z.number().int().nonnegative().optional(),
|
|
295
|
+
gitopsState: EventOutputTextSchema.optional(),
|
|
296
|
+
gitopsBindingId: EventOutputIdentifierSchema.optional(),
|
|
297
|
+
gitopsTargetKey: EventOutputTextSchema.optional(),
|
|
298
|
+
gitopsBaseRevision: EventOutputTextSchema.optional(),
|
|
299
|
+
gitopsResultRevision: EventOutputTextSchema.optional(),
|
|
300
|
+
gitopsReviewUrl: EventOutputHttpUrlSchema.optional(),
|
|
209
301
|
retryAfterSeconds: z.number().int().nonnegative().optional(),
|
|
210
302
|
recoveryAction: EventOutputTextSchema.optional(),
|
|
211
303
|
bundleDigest: EventOutputTextSchema.optional(),
|
|
@@ -338,15 +430,18 @@ function safeHttpUrl(value) {
|
|
|
338
430
|
}
|
|
339
431
|
export const ScmRepositorySchema = z.object({
|
|
340
432
|
externalId: z.union([z.string(), z.number()]).transform(String).pipe(z.string().trim().min(1).max(1000)),
|
|
341
|
-
namespace: z.string().trim().min(1).max(500).optional(),
|
|
433
|
+
namespace: z.string().trim().min(1).max(500).nullable().optional(),
|
|
342
434
|
name: z.string().trim().min(1).max(500),
|
|
343
|
-
fullName: z.string().trim().min(1).max(1000).optional(),
|
|
344
|
-
namespacePath: z.string().trim().min(1).max(500).optional(),
|
|
345
|
-
defaultBranch: z.string().trim().min(1).max(500),
|
|
346
|
-
headRevision: z.string().trim().min(1).max(512),
|
|
347
|
-
visibility: z.string().trim().min(1).max(80).optional(),
|
|
435
|
+
fullName: z.string().trim().min(1).max(1000).nullable().optional(),
|
|
436
|
+
namespacePath: z.string().trim().min(1).max(500).nullable().optional(),
|
|
437
|
+
defaultBranch: z.string().trim().min(1).max(500).nullable().optional(),
|
|
438
|
+
headRevision: z.string().trim().min(1).max(512).nullable().optional(),
|
|
439
|
+
visibility: z.string().trim().min(1).max(80).nullable().optional(),
|
|
348
440
|
archived: z.boolean().optional().default(false),
|
|
349
|
-
webUrl: z.string().refine(safeHttpUrl, "webUrl must be an HTTP(S) URL without credentials")
|
|
441
|
+
webUrl: z.string().refine(safeHttpUrl, "webUrl must be an HTTP(S) URL without credentials")
|
|
442
|
+
.nullable().optional(),
|
|
443
|
+
httpCloneUrl: z.string().refine(safeHttpUrl, "httpCloneUrl must be an HTTP(S) URL without credentials").nullable().optional(),
|
|
444
|
+
sshCloneUrl: z.string().trim().min(1).max(2000).regex(/^(?:git@[A-Za-z0-9.-]+:[^\s]+|ssh:\/\/git@[A-Za-z0-9.-]+(?::[0-9]+)?\/[^\s]+)$/u, "sshCloneUrl must be a credential-free Git SSH URL").nullable().optional()
|
|
350
445
|
});
|
|
351
446
|
export const ScmRepositoryPageSchema = z.union([
|
|
352
447
|
z.object({
|
|
@@ -368,6 +463,37 @@ export const ScmRepositoryPageSchema = z.union([
|
|
|
368
463
|
.refine((value) => !value.hasMore || value.nextCursor != null, {
|
|
369
464
|
message: "A repository page with hasMore=true must include nextCursor."
|
|
370
465
|
});
|
|
466
|
+
export const ScmNamespaceSchema = z.object({
|
|
467
|
+
externalId: z.union([z.string(), z.number()]).transform(String)
|
|
468
|
+
.pipe(z.string().trim().min(1).max(1000)),
|
|
469
|
+
name: z.string().trim().min(1).max(500),
|
|
470
|
+
fullPath: z.string().trim().min(1).max(1000),
|
|
471
|
+
parentExternalId: z.union([z.string(), z.number()]).transform(String)
|
|
472
|
+
.pipe(z.string().trim().min(1).max(1000)).nullable().optional(),
|
|
473
|
+
webUrl: z.string().refine(safeHttpUrl, "webUrl must be an HTTP(S) URL without credentials")
|
|
474
|
+
.nullable().optional(),
|
|
475
|
+
visibility: z.string().trim().min(1).max(80).nullable().optional()
|
|
476
|
+
});
|
|
477
|
+
export const ScmNamespacePageSchema = z.object({
|
|
478
|
+
items: z.array(ScmNamespaceSchema),
|
|
479
|
+
nextCursor: z.string().trim().min(1).max(4096).nullable().optional(),
|
|
480
|
+
hasMore: z.boolean().optional()
|
|
481
|
+
}).transform((value) => ({
|
|
482
|
+
items: value.items,
|
|
483
|
+
nextCursor: value.nextCursor ?? null,
|
|
484
|
+
hasMore: value.hasMore ?? Boolean(value.nextCursor)
|
|
485
|
+
})).refine((value) => !value.hasMore || value.nextCursor != null, {
|
|
486
|
+
message: "A namespace page with hasMore=true must include nextCursor."
|
|
487
|
+
});
|
|
488
|
+
export const ScmRepositoryInitializationSchema = z.enum(["EMPTY", "README"]);
|
|
489
|
+
export const ScmRepositoryVisibilitySchema = z.enum(["PRIVATE", "INTERNAL", "PUBLIC"]);
|
|
490
|
+
export const ScmRepositoryCreateInputSchema = z.object({
|
|
491
|
+
namespace: z.string().trim().min(1).max(400),
|
|
492
|
+
name: z.string().trim().min(1).max(240),
|
|
493
|
+
description: z.string().trim().max(1000).optional(),
|
|
494
|
+
visibility: ScmRepositoryVisibilitySchema,
|
|
495
|
+
initialization: ScmRepositoryInitializationSchema
|
|
496
|
+
}).strict();
|
|
371
497
|
const HttpsUrlSchema = z.string().trim().url().max(1000).refine((value) => {
|
|
372
498
|
const url = new URL(value);
|
|
373
499
|
return url.protocol === "https:" && !url.username && !url.password;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/application-onboarding/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/application-onboarding/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,21 @@ export interface OnboardingTuiState {
|
|
|
48
48
|
notice?: string;
|
|
49
49
|
error?: string;
|
|
50
50
|
}
|
|
51
|
+
export interface GitopsExecutionDetails {
|
|
52
|
+
planNumber?: string;
|
|
53
|
+
planHash?: string;
|
|
54
|
+
files: string[];
|
|
55
|
+
warnings: string[];
|
|
56
|
+
sideEffects: string[];
|
|
57
|
+
runNumber?: string;
|
|
58
|
+
state?: string;
|
|
59
|
+
lastEventSequence?: number;
|
|
60
|
+
bindingId?: string;
|
|
61
|
+
targetKey?: string;
|
|
62
|
+
baseRevision?: string;
|
|
63
|
+
resultRevision?: string;
|
|
64
|
+
reviewUrl?: string;
|
|
65
|
+
}
|
|
51
66
|
export type OnboardingTuiAction = {
|
|
52
67
|
type: "BOOTSTRAP_LOADED";
|
|
53
68
|
capabilities: OnboardingCapabilities;
|
|
@@ -117,11 +132,14 @@ export declare function reduceOnboardingTuiState(state: OnboardingTuiState, acti
|
|
|
117
132
|
export declare function draftFromSession(session: OnboardingSession): Record<string, unknown>;
|
|
118
133
|
export declare function fieldsForState(state: OnboardingTuiState): WizardField[];
|
|
119
134
|
export declare function valueAtPath(root: Record<string, unknown>, path: string): unknown;
|
|
135
|
+
export declare function gitopsExecutionDetails(events: OnboardingEvent[]): GitopsExecutionDetails | undefined;
|
|
120
136
|
export declare function stringAt(root: Record<string, unknown>, path: string): string;
|
|
121
137
|
export declare function displayFieldValue(field: WizardField, draft: Record<string, unknown>): string;
|
|
122
138
|
export declare function parseFieldInput(field: WizardField, input: string): unknown;
|
|
123
139
|
export declare function assertCredentialFreeDraft(draft: Record<string, unknown>): void;
|
|
124
140
|
export declare function cycleFieldValue(state: OnboardingTuiState, field: WizardField, direction: -1 | 1): Record<string, unknown>;
|
|
141
|
+
export declare function enableGitopsDeliveryDefaults(draft: Record<string, unknown>): Record<string, unknown>;
|
|
142
|
+
export declare function validateGitopsStructuralSpec(spec: Record<string, unknown>): void;
|
|
125
143
|
export declare function applyRepositorySelection(draft: Record<string, unknown>, repositories: Array<Record<string, unknown>>, externalId: string): Record<string, unknown>;
|
|
126
144
|
export declare function applyTemplateDefaults(draft: Record<string, unknown>, template: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
127
145
|
export declare function validateTemplateParameters(draft: Record<string, unknown>, templates: Array<Record<string, unknown>>): string[];
|
|
@@ -11,6 +11,25 @@ export const ONBOARDING_STEPS = [
|
|
|
11
11
|
"REVIEW",
|
|
12
12
|
"EXECUTION"
|
|
13
13
|
];
|
|
14
|
+
const DEFAULT_GITOPS_STRUCTURAL_SPEC = {
|
|
15
|
+
workloadKind: "SPRING",
|
|
16
|
+
environment: {},
|
|
17
|
+
secretEnvironment: []
|
|
18
|
+
};
|
|
19
|
+
const GITOPS_STRUCTURAL_FIELDS = new Set([
|
|
20
|
+
"workloadKind", "chart", "workload", "service", "probes", "ingress",
|
|
21
|
+
"environment", "secretEnvironment", "advancedValues"
|
|
22
|
+
]);
|
|
23
|
+
const GITOPS_PLATFORM_MANAGED_FIELDS = new Set([
|
|
24
|
+
"image", "appCode", "environmentId", "namespace", "releaseName", "targetKey",
|
|
25
|
+
"repository", "writeBranch", "reconcileBranch", "overlayPath", "imageRepository", "imageTag"
|
|
26
|
+
]);
|
|
27
|
+
const GITOPS_MANAGED_ADVANCED_VALUES = new Set([
|
|
28
|
+
"image", "replicaCount", "strategy", "service", "ingress", "startupProbe",
|
|
29
|
+
"livenessProbe", "readinessProbe", "resources", "env"
|
|
30
|
+
]);
|
|
31
|
+
const GITOPS_SENSITIVE_ENVIRONMENT_NAME = /(^|_)(PASSWORD|PASSWD|PWD|SECRET|TOKEN|API_KEY|PRIVATE_KEY|ACCESS_KEY|SECRET_KEY|CREDENTIAL|DATABASE_URL|REDIS_URL|MONGO_URI|JDBC_URL)($|_)/u;
|
|
32
|
+
const GITOPS_ENVIRONMENT_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/u;
|
|
14
33
|
export function emptyWizardDraft(mode) {
|
|
15
34
|
return {
|
|
16
35
|
schemaVersion: 1,
|
|
@@ -22,6 +41,9 @@ export function emptyWizardDraft(mode) {
|
|
|
22
41
|
jenkinsRequired: true,
|
|
23
42
|
tiers: ["DEVELOP"],
|
|
24
43
|
gitopsRequired: false,
|
|
44
|
+
profileCode: "MCI_FLUX_V1",
|
|
45
|
+
profileVersion: "1.0.0",
|
|
46
|
+
structuralSpec: cloneValue(DEFAULT_GITOPS_STRUCTURAL_SPEC),
|
|
25
47
|
nacosRequired: false
|
|
26
48
|
}
|
|
27
49
|
};
|
|
@@ -274,6 +296,12 @@ export function fieldsForState(state) {
|
|
|
274
296
|
{ path: "delivery.jenkinsRequired", label: "Jenkins required", kind: "boolean" },
|
|
275
297
|
{ path: "delivery.tiers", label: "Jenkins tiers", kind: "tiers" },
|
|
276
298
|
{ path: "delivery.gitopsRequired", label: "GitOps required", kind: "boolean" },
|
|
299
|
+
...(valueAtPath(state.draft, "delivery.gitopsRequired") === true ? [
|
|
300
|
+
{ path: "delivery.targetKey", label: "GitOps deployment target key", kind: "text", required: true },
|
|
301
|
+
{ path: "delivery.profileCode", label: "GitOps layout profile", kind: "text", required: true, placeholder: "MCI_FLUX_V1" },
|
|
302
|
+
{ path: "delivery.profileVersion", label: "GitOps profile version", kind: "text", required: true, placeholder: "1.0.0" },
|
|
303
|
+
{ path: "delivery.structuralSpec", label: "GitOps structural spec JSON", kind: "json", required: true }
|
|
304
|
+
] : []),
|
|
277
305
|
{ path: "delivery.nacosRequired", label: "Nacos required", kind: "boolean" }
|
|
278
306
|
];
|
|
279
307
|
return [];
|
|
@@ -287,6 +315,33 @@ export function valueAtPath(root, path) {
|
|
|
287
315
|
}
|
|
288
316
|
return current;
|
|
289
317
|
}
|
|
318
|
+
export function gitopsExecutionDetails(events) {
|
|
319
|
+
for (const event of [...events].reverse()) {
|
|
320
|
+
const output = event.output;
|
|
321
|
+
if (!output || typeof output !== "object" || Array.isArray(output))
|
|
322
|
+
continue;
|
|
323
|
+
const value = output;
|
|
324
|
+
if (!value.gitopsPlanNumber && !value.gitopsRunNo && !value.gitopsState)
|
|
325
|
+
continue;
|
|
326
|
+
return {
|
|
327
|
+
planNumber: optionalText(value.gitopsPlanNumber),
|
|
328
|
+
planHash: optionalText(value.gitopsPlanHash),
|
|
329
|
+
files: textArray(value.gitopsPlanFiles),
|
|
330
|
+
warnings: textArray(value.gitopsWarnings),
|
|
331
|
+
sideEffects: textArray(value.gitopsSideEffects),
|
|
332
|
+
runNumber: optionalText(value.gitopsRunNo),
|
|
333
|
+
state: optionalText(value.gitopsState),
|
|
334
|
+
lastEventSequence: typeof value.gitopsLastEventSequence === "number"
|
|
335
|
+
? value.gitopsLastEventSequence : undefined,
|
|
336
|
+
bindingId: optionalText(value.gitopsBindingId),
|
|
337
|
+
targetKey: optionalText(value.gitopsTargetKey),
|
|
338
|
+
baseRevision: optionalText(value.gitopsBaseRevision),
|
|
339
|
+
resultRevision: optionalText(value.gitopsResultRevision),
|
|
340
|
+
reviewUrl: optionalText(value.gitopsReviewUrl)
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
290
345
|
export function stringAt(root, path) {
|
|
291
346
|
const value = valueAtPath(root, path);
|
|
292
347
|
return typeof value === "string" ? value : value == null ? "" : String(value);
|
|
@@ -329,6 +384,8 @@ export function parseFieldInput(field, input) {
|
|
|
329
384
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
330
385
|
throw new OnboardingError(`${field.label} must be a JSON object.`, "onboarding_input_invalid");
|
|
331
386
|
}
|
|
387
|
+
if (field.path === "delivery.structuralSpec")
|
|
388
|
+
validateGitopsStructuralSpec(parsed);
|
|
332
389
|
return parsed;
|
|
333
390
|
}
|
|
334
391
|
if (field.kind === "tiers") {
|
|
@@ -344,9 +401,26 @@ export function parseFieldInput(field, input) {
|
|
|
344
401
|
return trimmed || undefined;
|
|
345
402
|
}
|
|
346
403
|
export function assertCredentialFreeDraft(draft) {
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
|
|
404
|
+
const credentialScan = cloneObject(draft);
|
|
405
|
+
const delivery = asObject(credentialScan.delivery);
|
|
406
|
+
let structuralCredentialScan;
|
|
407
|
+
if (delivery.structuralSpec !== undefined) {
|
|
408
|
+
const structuralSpec = asObject(delivery.structuralSpec);
|
|
409
|
+
validateGitopsStructuralSpec(structuralSpec);
|
|
410
|
+
structuralCredentialScan = cloneObject(structuralSpec);
|
|
411
|
+
delete structuralCredentialScan.secretEnvironment;
|
|
412
|
+
delete delivery.structuralSpec;
|
|
413
|
+
credentialScan.delivery = delivery;
|
|
414
|
+
}
|
|
415
|
+
const parsed = CredentialFreeOnboardingValueSchema.safeParse(credentialScan);
|
|
416
|
+
const structuralParsed = structuralCredentialScan == null
|
|
417
|
+
? undefined
|
|
418
|
+
: CredentialFreeOnboardingValueSchema.safeParse({ controlledStructure: structuralCredentialScan });
|
|
419
|
+
if (!parsed.success || structuralParsed?.success === false) {
|
|
420
|
+
const issue = !parsed.success
|
|
421
|
+
? parsed.error.issues[0]
|
|
422
|
+
: structuralParsed && !structuralParsed.success ? structuralParsed.error.issues[0] : undefined;
|
|
423
|
+
throw new OnboardingError(`Draft contains credential-bearing input: ${issue?.path.join(".") || "unknown field"}.`, "onboarding_secret_not_allowed");
|
|
350
424
|
}
|
|
351
425
|
}
|
|
352
426
|
export function cycleFieldValue(state, field, direction) {
|
|
@@ -364,6 +438,102 @@ export function cycleFieldValue(state, field, direction) {
|
|
|
364
438
|
const selected = options[nextIndex].value;
|
|
365
439
|
return setDraftPath(state.draft, field.path, field.kind === "number" ? Number(selected) : selected);
|
|
366
440
|
}
|
|
441
|
+
export function enableGitopsDeliveryDefaults(draft) {
|
|
442
|
+
let result = setDraftPath(draft, "delivery.jenkinsRequired", true);
|
|
443
|
+
if (!stringAt(result, "delivery.profileCode")) {
|
|
444
|
+
result = setDraftPath(result, "delivery.profileCode", "MCI_FLUX_V1");
|
|
445
|
+
}
|
|
446
|
+
if (!stringAt(result, "delivery.profileVersion")) {
|
|
447
|
+
result = setDraftPath(result, "delivery.profileVersion", "1.0.0");
|
|
448
|
+
}
|
|
449
|
+
if (!valueAtPath(result, "delivery.structuralSpec")) {
|
|
450
|
+
result = setDraftPath(result, "delivery.structuralSpec", DEFAULT_GITOPS_STRUCTURAL_SPEC);
|
|
451
|
+
}
|
|
452
|
+
return result;
|
|
453
|
+
}
|
|
454
|
+
export function validateGitopsStructuralSpec(spec) {
|
|
455
|
+
for (const field of Object.keys(spec)) {
|
|
456
|
+
if (GITOPS_PLATFORM_MANAGED_FIELDS.has(field)) {
|
|
457
|
+
throw new OnboardingError(`delivery.structuralSpec.${field} is platform/Jenkins-managed and cannot be submitted.`, "GITOPS_MANAGED_FIELD_FORBIDDEN");
|
|
458
|
+
}
|
|
459
|
+
if (!GITOPS_STRUCTURAL_FIELDS.has(field)) {
|
|
460
|
+
throw new OnboardingError(`delivery.structuralSpec.${field} is not supported by MCI_FLUX_V1.`, "GITOPS_SPEC_INVALID");
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
validateGitopsEnvironment(spec.environment);
|
|
464
|
+
validateGitopsSecretEnvironment(spec.secretEnvironment);
|
|
465
|
+
if (spec.advancedValues != null) {
|
|
466
|
+
const advancedValues = requireRecord(spec.advancedValues, "delivery.structuralSpec.advancedValues");
|
|
467
|
+
for (const field of Object.keys(advancedValues)) {
|
|
468
|
+
if (GITOPS_MANAGED_ADVANCED_VALUES.has(field)) {
|
|
469
|
+
throw new OnboardingError(`delivery.structuralSpec.advancedValues.${field} is managed by MCI_FLUX_V1.`, "GITOPS_MANAGED_FIELD_FORBIDDEN");
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
rejectRawGitopsSecret(spec, "delivery.structuralSpec");
|
|
474
|
+
}
|
|
475
|
+
function validateGitopsEnvironment(value) {
|
|
476
|
+
if (value == null)
|
|
477
|
+
return;
|
|
478
|
+
const environment = requireRecord(value, "delivery.structuralSpec.environment");
|
|
479
|
+
for (const [name, raw] of Object.entries(environment)) {
|
|
480
|
+
if (!GITOPS_ENVIRONMENT_NAME.test(name) || typeof raw !== "string") {
|
|
481
|
+
throw new OnboardingError(`delivery.structuralSpec.environment.${name} must have a valid environment name and string value.`, "GITOPS_SPEC_INVALID");
|
|
482
|
+
}
|
|
483
|
+
if (GITOPS_SENSITIVE_ENVIRONMENT_NAME.test(name.toUpperCase()) || looksLikeGitopsCredential(raw)) {
|
|
484
|
+
throw new OnboardingError(`delivery.structuralSpec.environment.${name} may contain plaintext credentials; use secretEnvironment SecretRef.`, "GITOPS_PLAINTEXT_CREDENTIAL_FORBIDDEN");
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
function validateGitopsSecretEnvironment(value) {
|
|
489
|
+
if (value == null)
|
|
490
|
+
return;
|
|
491
|
+
if (!Array.isArray(value)) {
|
|
492
|
+
throw new OnboardingError("delivery.structuralSpec.secretEnvironment must be an array of SecretRef objects.", "GITOPS_SPEC_INVALID");
|
|
493
|
+
}
|
|
494
|
+
value.forEach((raw, index) => {
|
|
495
|
+
const item = requireRecord(raw, `delivery.structuralSpec.secretEnvironment[${index}]`);
|
|
496
|
+
const allowed = new Set(["name", "secretName", "secretKey", "optional"]);
|
|
497
|
+
const unknown = Object.keys(item).find((field) => !allowed.has(field));
|
|
498
|
+
if (unknown) {
|
|
499
|
+
throw new OnboardingError(`delivery.structuralSpec.secretEnvironment[${index}].${unknown} is not an allowed SecretRef field.`, "GITOPS_RAW_SECRET_FORBIDDEN");
|
|
500
|
+
}
|
|
501
|
+
if (!nonEmptyString(item.name) || !GITOPS_ENVIRONMENT_NAME.test(item.name)
|
|
502
|
+
|| !nonEmptyString(item.secretName) || !nonEmptyString(item.secretKey)
|
|
503
|
+
|| (item.optional != null && typeof item.optional !== "boolean")) {
|
|
504
|
+
throw new OnboardingError(`delivery.structuralSpec.secretEnvironment[${index}] requires name, secretName, secretKey, and optional boolean optional.`, "GITOPS_SPEC_INVALID");
|
|
505
|
+
}
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
function rejectRawGitopsSecret(value, path) {
|
|
509
|
+
if (Array.isArray(value)) {
|
|
510
|
+
value.forEach((item, index) => rejectRawGitopsSecret(item, `${path}[${index}]`));
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
if (!value || typeof value !== "object")
|
|
514
|
+
return;
|
|
515
|
+
const object = value;
|
|
516
|
+
if (String(object.kind ?? "").toLowerCase() === "secret"
|
|
517
|
+
&& (Object.hasOwn(object, "data") || Object.hasOwn(object, "stringData"))) {
|
|
518
|
+
throw new OnboardingError(`${path} cannot contain Kubernetes Secret.data/stringData; use an existing SecretRef.`, "GITOPS_RAW_SECRET_FORBIDDEN");
|
|
519
|
+
}
|
|
520
|
+
Object.entries(object).forEach(([key, item]) => rejectRawGitopsSecret(item, `${path}.${key}`));
|
|
521
|
+
}
|
|
522
|
+
function requireRecord(value, path) {
|
|
523
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
524
|
+
throw new OnboardingError(`${path} must be a JSON object.`, "GITOPS_SPEC_INVALID");
|
|
525
|
+
}
|
|
526
|
+
return value;
|
|
527
|
+
}
|
|
528
|
+
function nonEmptyString(value) {
|
|
529
|
+
return typeof value === "string" && Boolean(value.trim());
|
|
530
|
+
}
|
|
531
|
+
function looksLikeGitopsCredential(value) {
|
|
532
|
+
return /:\/\/[^/\s:@]+:[^@\s/]+@/u.test(value)
|
|
533
|
+
|| /(password|passwd|secret|token|api[_-]?key)\s*[:=]/iu.test(value)
|
|
534
|
+
|| value.includes("-----BEGIN PRIVATE KEY-----")
|
|
535
|
+
|| value.includes("-----BEGIN RSA PRIVATE KEY-----");
|
|
536
|
+
}
|
|
367
537
|
export function applyRepositorySelection(draft, repositories, externalId) {
|
|
368
538
|
let result = setDraftPath(draft, "repository.externalId", externalId || undefined);
|
|
369
539
|
const repository = repositories.find((item) => text(item.externalId ?? item.id) === externalId);
|
|
@@ -420,6 +590,36 @@ export function validateWizardBeforeStep(state, targetStepIndex) {
|
|
|
420
590
|
if (selected)
|
|
421
591
|
errors.push(...validateTemplateParameters(state.draft, state.catalog.templates));
|
|
422
592
|
}
|
|
593
|
+
if (targetStepIndex >= ONBOARDING_STEPS.indexOf("REVIEW")
|
|
594
|
+
&& valueAtPath(state.draft, "delivery.gitopsRequired") === true) {
|
|
595
|
+
if (valueAtPath(state.draft, "delivery.jenkinsRequired") !== true) {
|
|
596
|
+
errors.push("delivery.jenkinsRequired must be enabled for GitOps image delivery evidence.");
|
|
597
|
+
}
|
|
598
|
+
const tiers = valueAtPath(state.draft, "delivery.tiers");
|
|
599
|
+
if (!Array.isArray(tiers) || tiers.length === 0) {
|
|
600
|
+
errors.push("delivery.tiers requires at least one Jenkins tier for GitOps onboarding.");
|
|
601
|
+
}
|
|
602
|
+
requireText("delivery.targetKey");
|
|
603
|
+
requireText("delivery.profileCode");
|
|
604
|
+
requireText("delivery.profileVersion");
|
|
605
|
+
const structuralSpec = valueAtPath(state.draft, "delivery.structuralSpec");
|
|
606
|
+
if (!structuralSpec || typeof structuralSpec !== "object" || Array.isArray(structuralSpec)
|
|
607
|
+
|| Object.keys(structuralSpec).length === 0) {
|
|
608
|
+
errors.push("delivery.structuralSpec must be a non-empty controlled JSON object.");
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
try {
|
|
612
|
+
validateGitopsStructuralSpec(structuralSpec);
|
|
613
|
+
}
|
|
614
|
+
catch (error) {
|
|
615
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
if (valueAtPath(state.draft, "schemaVersion") !== 2) {
|
|
619
|
+
errors.push("Interactive TUI schemaVersion=1 cannot lock Repository Control Plane references for GitOps. "
|
|
620
|
+
+ "Create repositoryPlanRef/repositoryRef first, then use `numa app onboard --spec <v2.json> --plan`.");
|
|
621
|
+
}
|
|
622
|
+
}
|
|
423
623
|
return [...new Set(errors)];
|
|
424
624
|
}
|
|
425
625
|
function validateSchemaObject(schema, value, path) {
|
|
@@ -513,6 +713,18 @@ function asObject(value) {
|
|
|
513
713
|
function text(value) {
|
|
514
714
|
return typeof value === "string" ? value : typeof value === "number" ? String(value) : "";
|
|
515
715
|
}
|
|
716
|
+
function optionalText(value) {
|
|
717
|
+
const result = text(value).trim();
|
|
718
|
+
return result || undefined;
|
|
719
|
+
}
|
|
720
|
+
function textArray(value) {
|
|
721
|
+
return Array.isArray(value)
|
|
722
|
+
? value.flatMap((item) => {
|
|
723
|
+
const result = optionalText(item);
|
|
724
|
+
return result == null ? [] : [result];
|
|
725
|
+
})
|
|
726
|
+
: [];
|
|
727
|
+
}
|
|
516
728
|
function choices(values) {
|
|
517
729
|
return values.map((value) => ({ value, label: value }));
|
|
518
730
|
}
|