@cat-factory/contracts 0.60.0 → 0.62.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/dist/agent-config.d.ts +3 -3
- package/dist/agent-config.d.ts.map +1 -1
- package/dist/agent-config.js +6 -6
- package/dist/agent-config.js.map +1 -1
- package/dist/entities.d.ts +75 -24
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +5 -25
- package/dist/entities.js.map +1 -1
- package/dist/environments.d.ts +495 -4
- package/dist/environments.d.ts.map +1 -1
- package/dist/environments.js +158 -2
- package/dist/environments.js.map +1 -1
- package/dist/requests.d.ts +421 -23
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +0 -9
- package/dist/requests.js.map +1 -1
- package/dist/routes/board.d.ts +1131 -53
- package/dist/routes/board.d.ts.map +1 -1
- package/dist/routes/environments.d.ts +50 -0
- package/dist/routes/environments.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +142 -6
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/tasks.d.ts +213 -9
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/workspace-settings.d.ts +0 -3
- package/dist/routes/workspace-settings.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +142 -8
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +71 -4
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/workspace-settings.d.ts +0 -9
- package/dist/workspace-settings.d.ts.map +1 -1
- package/dist/workspace-settings.js +0 -9
- package/dist/workspace-settings.js.map +1 -1
- package/package.json +1 -1
package/dist/environments.d.ts
CHANGED
|
@@ -275,15 +275,28 @@ export declare const manifestIdSchema: v.SchemaWithPipe<readonly [v.StringSchema
|
|
|
275
275
|
export type ManifestId = v.InferOutput<typeof manifestIdSchema>;
|
|
276
276
|
/** The secret-bundle key the Kubernetes env backend reads the ServiceAccount token from. */
|
|
277
277
|
export declare const KUBERNETES_ENV_TOKEN_SECRET_KEY = "apiToken";
|
|
278
|
+
/**
|
|
279
|
+
* How the manifests at `path` are turned into apiserver-ready resources. `raw` (the
|
|
280
|
+
* default, and the only one the in-Worker native REST adapter handles) treats `path` as
|
|
281
|
+
* a single manifest file or a flat directory of already-valid YAML docs. `kustomize`
|
|
282
|
+
* treats `path` as an overlay directory (`kustomization.yaml` + `resources`/`components`/
|
|
283
|
+
* `bases`) that must be `kustomize build`-rendered before apply — which only the
|
|
284
|
+
* container-backed deploy adapter can do (it shells out to real `kustomize`/`helm`).
|
|
285
|
+
*/
|
|
286
|
+
export declare const kubernetesRendererSchema: v.PicklistSchema<["raw", "kustomize"], undefined>;
|
|
287
|
+
export type KubernetesRenderer = v.InferOutput<typeof kubernetesRendererSchema>;
|
|
278
288
|
/**
|
|
279
289
|
* Where the per-PR manifests are read from. `colocated` reads them from the block's
|
|
280
290
|
* own repo at the PR head branch; `separate` reads them from a different repo (the
|
|
281
|
-
* Kubernetes definition often lives outside the service repo).
|
|
291
|
+
* Kubernetes definition often lives outside the service repo). `renderer` (absent ⇒
|
|
292
|
+
* `raw`) selects how `path` is turned into resources; `kustomize` requires the
|
|
293
|
+
* container-backed deploy adapter.
|
|
282
294
|
*/
|
|
283
295
|
export declare const kubernetesManifestSourceSchema: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
284
296
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
285
297
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
286
298
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
299
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
287
300
|
}, undefined>, v.ObjectSchema<{
|
|
288
301
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
289
302
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -292,6 +305,7 @@ export declare const kubernetesManifestSourceSchema: v.VariantSchema<"type", [v.
|
|
|
292
305
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
293
306
|
/** File or directory path within the manifests repo. */
|
|
294
307
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
308
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
295
309
|
}, undefined>], undefined>;
|
|
296
310
|
export type KubernetesManifestSource = v.InferOutput<typeof kubernetesManifestSourceSchema>;
|
|
297
311
|
/** How the environment URL is derived once the manifests are applied. */
|
|
@@ -311,6 +325,16 @@ export declare const kubernetesUrlSourceSchema: v.VariantSchema<"source", [v.Obj
|
|
|
311
325
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
312
326
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
313
327
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
328
|
+
}, undefined>, v.ObjectSchema<{
|
|
329
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
330
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
331
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
332
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
333
|
+
}, undefined>, v.ObjectSchema<{
|
|
334
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
335
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
336
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
337
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
314
338
|
}, undefined>], undefined>;
|
|
315
339
|
export type KubernetesUrlSource = v.InferOutput<typeof kubernetesUrlSourceSchema>;
|
|
316
340
|
export declare const kubernetesEnvironmentConfigSchema: v.ObjectSchema<{
|
|
@@ -333,6 +357,7 @@ export declare const kubernetesEnvironmentConfigSchema: v.ObjectSchema<{
|
|
|
333
357
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
334
358
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
335
359
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
360
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
336
361
|
}, undefined>, v.ObjectSchema<{
|
|
337
362
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
338
363
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -341,6 +366,7 @@ export declare const kubernetesEnvironmentConfigSchema: v.ObjectSchema<{
|
|
|
341
366
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
342
367
|
/** File or directory path within the manifests repo. */
|
|
343
368
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
369
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
344
370
|
}, undefined>], undefined>;
|
|
345
371
|
/** How the environment URL is derived once applied. */
|
|
346
372
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -359,6 +385,16 @@ export declare const kubernetesEnvironmentConfigSchema: v.ObjectSchema<{
|
|
|
359
385
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
360
386
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
361
387
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
388
|
+
}, undefined>, v.ObjectSchema<{
|
|
389
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
390
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
391
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
392
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
393
|
+
}, undefined>, v.ObjectSchema<{
|
|
394
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
395
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
396
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
397
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
362
398
|
}, undefined>], undefined>;
|
|
363
399
|
/**
|
|
364
400
|
* Optional image reference made available to the manifests as `{{image}}` (e.g. a
|
|
@@ -373,6 +409,157 @@ export declare const kubernetesEnvironmentConfigSchema: v.ObjectSchema<{
|
|
|
373
409
|
readonly annotations: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
374
410
|
}, undefined>;
|
|
375
411
|
export type KubernetesEnvironmentConfig = v.InferOutput<typeof kubernetesEnvironmentConfigSchema>;
|
|
412
|
+
/**
|
|
413
|
+
* A structured image override (the kustomize `images:` equivalent, generalizing the
|
|
414
|
+
* legacy `{{image}}` text substitution). Matches a container image by `name` and
|
|
415
|
+
* overrides its repo and/or tag/digest; the override values are templated over the
|
|
416
|
+
* provision vars (e.g. `newTagTemplate: '{{branch}}'`).
|
|
417
|
+
*/
|
|
418
|
+
export declare const kubernetesImageOverrideSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
419
|
+
/** The image to match (the `name:` in a kustomization `images:` entry), e.g. `registry/app`. */
|
|
420
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
421
|
+
/** Optional replacement repo, templated; absent ⇒ keep the original repo. */
|
|
422
|
+
readonly newNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
423
|
+
/** Replacement tag, templated (e.g. `{{branch}}` / `{{sha}}`); mutually exclusive with digest. */
|
|
424
|
+
readonly newTagTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
425
|
+
/** Replacement digest, templated; alternative to a tag. */
|
|
426
|
+
readonly digestTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
427
|
+
}, undefined>, v.CheckAction<{
|
|
428
|
+
name: string;
|
|
429
|
+
newNameTemplate?: string | undefined;
|
|
430
|
+
newTagTemplate?: string | undefined;
|
|
431
|
+
digestTemplate?: string | undefined;
|
|
432
|
+
}, "an image override must set at least one of newNameTemplate, newTagTemplate, or digestTemplate.">, v.CheckAction<{
|
|
433
|
+
name: string;
|
|
434
|
+
newNameTemplate?: string | undefined;
|
|
435
|
+
newTagTemplate?: string | undefined;
|
|
436
|
+
digestTemplate?: string | undefined;
|
|
437
|
+
}, "newTagTemplate and digestTemplate are mutually exclusive on an image override.">]>;
|
|
438
|
+
export type KubernetesImageOverride = v.InferOutput<typeof kubernetesImageOverrideSchema>;
|
|
439
|
+
/** A single templated `--set path=value` for a helm release. */
|
|
440
|
+
export declare const kubernetesHelmSetSchema: v.ObjectSchema<{
|
|
441
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
442
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
443
|
+
/** The value, templated over the provision vars. */
|
|
444
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
445
|
+
}, undefined>;
|
|
446
|
+
export type KubernetesHelmSet = v.InferOutput<typeof kubernetesHelmSetSchema>;
|
|
447
|
+
/**
|
|
448
|
+
* A helm release the deploy adapter installs/upgrades (`helm upgrade --install`).
|
|
449
|
+
* `scope: 'shared'` is a cluster singleton (installed once, never torn down per-PR —
|
|
450
|
+
* e.g. an ingress/gateway controller); `per-environment` (the default) re-installs in
|
|
451
|
+
* each per-PR namespace. The `version` pin is required so provisioning is deterministic.
|
|
452
|
+
*/
|
|
453
|
+
export declare const kubernetesHelmReleaseSchema: v.ObjectSchema<{
|
|
454
|
+
/** Release name. */
|
|
455
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
456
|
+
/** Chart ref: an OCI ref (`oci://…`) or, with `repo`, a `repo/chart` name. */
|
|
457
|
+
readonly chart: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
458
|
+
/** Chart repo URL; absent ⇒ `chart` is an OCI ref. */
|
|
459
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
460
|
+
/** PINNED chart version, e.g. `1.2.3` / `v1.2.3` (floating tags like `latest`/`^1.0` rejected). */
|
|
461
|
+
readonly version: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "version must be a pinned semver (e.g. 1.2.3), not a floating tag like latest or ^1.0.">]>;
|
|
462
|
+
/** Namespace to install into, templated; absent ⇒ the environment namespace. */
|
|
463
|
+
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
464
|
+
/** Inline `--values` overrides. */
|
|
465
|
+
readonly values: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
466
|
+
/** Templated `--set` overrides. */
|
|
467
|
+
readonly set: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
468
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
469
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
470
|
+
/** The value, templated over the provision vars. */
|
|
471
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
472
|
+
}, undefined>, undefined>, undefined>;
|
|
473
|
+
/** Secret-bundle-backed values folded in at provision time (`--set <path>=<secret>`). */
|
|
474
|
+
readonly valuesSecretRefs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
475
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
476
|
+
readonly secretRef: v.ObjectSchema<{
|
|
477
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
478
|
+
}, undefined>;
|
|
479
|
+
}, undefined>, undefined>, undefined>;
|
|
480
|
+
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
481
|
+
}, undefined>;
|
|
482
|
+
export type KubernetesHelmRelease = v.InferOutput<typeof kubernetesHelmReleaseSchema>;
|
|
483
|
+
/** One entry inside an injected Secret: a logical key mapped to a secret-bundle ref OR a templated value. */
|
|
484
|
+
export declare const kubernetesSecretEntrySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
485
|
+
/** Key inside the rendered Secret / `.env`. */
|
|
486
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 256, undefined>]>;
|
|
487
|
+
/** Resolve the value from the workspace encrypted bundle by key. */
|
|
488
|
+
readonly secretRef: v.OptionalSchema<v.ObjectSchema<{
|
|
489
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
490
|
+
}, undefined>, undefined>;
|
|
491
|
+
/** OR a non-secret value, templated over the provision vars. */
|
|
492
|
+
readonly valueTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
493
|
+
}, undefined>, v.CheckAction<{
|
|
494
|
+
key: string;
|
|
495
|
+
secretRef?: {
|
|
496
|
+
key: string;
|
|
497
|
+
} | undefined;
|
|
498
|
+
valueTemplate?: string | undefined;
|
|
499
|
+
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>;
|
|
500
|
+
export type KubernetesSecretEntry = v.InferOutput<typeof kubernetesSecretEntrySchema>;
|
|
501
|
+
/**
|
|
502
|
+
* How the deploy adapter feeds resolved secret values in before apply, discriminated by
|
|
503
|
+
* `mode`. The mapping of logical keys is in-repo intent; the values resolve from the
|
|
504
|
+
* encrypted bundle at provision time (the config carries secret KEYS, never values).
|
|
505
|
+
*
|
|
506
|
+
* - `secret`: materialize a `Secret` resource named `secretName` directly in the namespace.
|
|
507
|
+
* - `generatorEnvFile`: write the entries as a `KEY=value` `.env` file at `envFilePath`
|
|
508
|
+
* (repo-relative, inside the overlay tree) BEFORE `kustomize build`, so the overlay's own
|
|
509
|
+
* existing `secretGenerator` consumes it. This is the common ephemeral-environment shape
|
|
510
|
+
* where a Component declares `secretGenerator: { envs: ['.env'] }`, the Secret is named by
|
|
511
|
+
* the overlay, and the real `.env` is supplied at deploy time (e.g. from a secrets manager).
|
|
512
|
+
* Use this instead of `secret` when the manifests already declare a `secretGenerator`, so
|
|
513
|
+
* the two don't collide.
|
|
514
|
+
*/
|
|
515
|
+
export declare const kubernetesSecretInjectionSchema: v.VariantSchema<"mode", [v.ObjectSchema<{
|
|
516
|
+
readonly mode: v.LiteralSchema<"secret", undefined>;
|
|
517
|
+
/** Target Secret name in the namespace. */
|
|
518
|
+
readonly secretName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
519
|
+
/** Secret `type`; absent ⇒ `Opaque`. */
|
|
520
|
+
readonly secretType: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
521
|
+
readonly entries: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
522
|
+
/** Key inside the rendered Secret / `.env`. */
|
|
523
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 256, undefined>]>;
|
|
524
|
+
/** Resolve the value from the workspace encrypted bundle by key. */
|
|
525
|
+
readonly secretRef: v.OptionalSchema<v.ObjectSchema<{
|
|
526
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
527
|
+
}, undefined>, undefined>;
|
|
528
|
+
/** OR a non-secret value, templated over the provision vars. */
|
|
529
|
+
readonly valueTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
530
|
+
}, undefined>, v.CheckAction<{
|
|
531
|
+
key: string;
|
|
532
|
+
secretRef?: {
|
|
533
|
+
key: string;
|
|
534
|
+
} | undefined;
|
|
535
|
+
valueTemplate?: string | undefined;
|
|
536
|
+
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
537
|
+
}, undefined>, v.ObjectSchema<{
|
|
538
|
+
readonly mode: v.LiteralSchema<"generatorEnvFile", undefined>;
|
|
539
|
+
/**
|
|
540
|
+
* Repo-relative path within the overlay tree to write the `KEY=value` env file the
|
|
541
|
+
* overlay's `secretGenerator` reads (e.g. `overlays/<env>/<component>/.env`). The
|
|
542
|
+
* overlay names the Secret.
|
|
543
|
+
*/
|
|
544
|
+
readonly envFilePath: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
545
|
+
readonly entries: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
546
|
+
/** Key inside the rendered Secret / `.env`. */
|
|
547
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 256, undefined>]>;
|
|
548
|
+
/** Resolve the value from the workspace encrypted bundle by key. */
|
|
549
|
+
readonly secretRef: v.OptionalSchema<v.ObjectSchema<{
|
|
550
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
551
|
+
}, undefined>, undefined>;
|
|
552
|
+
/** OR a non-secret value, templated over the provision vars. */
|
|
553
|
+
readonly valueTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
554
|
+
}, undefined>, v.CheckAction<{
|
|
555
|
+
key: string;
|
|
556
|
+
secretRef?: {
|
|
557
|
+
key: string;
|
|
558
|
+
} | undefined;
|
|
559
|
+
valueTemplate?: string | undefined;
|
|
560
|
+
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
561
|
+
}, undefined>], undefined>;
|
|
562
|
+
export type KubernetesSecretInjection = v.InferOutput<typeof kubernetesSecretInjectionSchema>;
|
|
376
563
|
/** Built-in environment backend kinds the contract knows by name. */
|
|
377
564
|
export declare const RESERVED_ENVIRONMENT_BACKEND_KINDS: readonly ['manifest', 'kubernetes'];
|
|
378
565
|
/**
|
|
@@ -547,6 +734,7 @@ export declare const environmentBackendConfigSchema: v.VariantSchema<"kind", [v.
|
|
|
547
734
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
548
735
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
549
736
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
737
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
550
738
|
}, undefined>, v.ObjectSchema<{
|
|
551
739
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
552
740
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -555,6 +743,7 @@ export declare const environmentBackendConfigSchema: v.VariantSchema<"kind", [v.
|
|
|
555
743
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
556
744
|
/** File or directory path within the manifests repo. */
|
|
557
745
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
746
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
558
747
|
}, undefined>], undefined>;
|
|
559
748
|
/** How the environment URL is derived once applied. */
|
|
560
749
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -573,6 +762,16 @@ export declare const environmentBackendConfigSchema: v.VariantSchema<"kind", [v.
|
|
|
573
762
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
574
763
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
575
764
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
765
|
+
}, undefined>, v.ObjectSchema<{
|
|
766
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
767
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
768
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
769
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
770
|
+
}, undefined>, v.ObjectSchema<{
|
|
771
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
772
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
773
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
774
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
576
775
|
}, undefined>], undefined>;
|
|
577
776
|
/**
|
|
578
777
|
* Optional image reference made available to the manifests as `{{image}}` (e.g. a
|
|
@@ -733,6 +932,7 @@ export declare const serviceProvisioningSchema: v.ObjectSchema<{
|
|
|
733
932
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
734
933
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
735
934
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
935
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
736
936
|
}, undefined>, v.ObjectSchema<{
|
|
737
937
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
738
938
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -741,6 +941,7 @@ export declare const serviceProvisioningSchema: v.ObjectSchema<{
|
|
|
741
941
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
742
942
|
/** File or directory path within the manifests repo. */
|
|
743
943
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
944
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
744
945
|
}, undefined>], undefined>, undefined>;
|
|
745
946
|
/** `docker-compose`: path to the compose file relative to the repo root. */
|
|
746
947
|
readonly composePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
@@ -750,6 +951,107 @@ export declare const serviceProvisioningSchema: v.ObjectSchema<{
|
|
|
750
951
|
readonly manifestId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>;
|
|
751
952
|
/** `custom`: optional path to the custom manifest within the repo. */
|
|
752
953
|
readonly manifestPath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
954
|
+
/**
|
|
955
|
+
* `kubernetes` (container-backed deploy adapter only): structured image overrides, the
|
|
956
|
+
* helm releases the env composes, and the Secrets to materialize before apply. The
|
|
957
|
+
* native REST adapter ignores these (raw manifests). See the schemas above.
|
|
958
|
+
*/
|
|
959
|
+
readonly images: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
960
|
+
/** The image to match (the `name:` in a kustomization `images:` entry), e.g. `registry/app`. */
|
|
961
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
962
|
+
/** Optional replacement repo, templated; absent ⇒ keep the original repo. */
|
|
963
|
+
readonly newNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
964
|
+
/** Replacement tag, templated (e.g. `{{branch}}` / `{{sha}}`); mutually exclusive with digest. */
|
|
965
|
+
readonly newTagTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
966
|
+
/** Replacement digest, templated; alternative to a tag. */
|
|
967
|
+
readonly digestTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
968
|
+
}, undefined>, v.CheckAction<{
|
|
969
|
+
name: string;
|
|
970
|
+
newNameTemplate?: string | undefined;
|
|
971
|
+
newTagTemplate?: string | undefined;
|
|
972
|
+
digestTemplate?: string | undefined;
|
|
973
|
+
}, "an image override must set at least one of newNameTemplate, newTagTemplate, or digestTemplate.">, v.CheckAction<{
|
|
974
|
+
name: string;
|
|
975
|
+
newNameTemplate?: string | undefined;
|
|
976
|
+
newTagTemplate?: string | undefined;
|
|
977
|
+
digestTemplate?: string | undefined;
|
|
978
|
+
}, "newTagTemplate and digestTemplate are mutually exclusive on an image override.">]>, undefined>, undefined>;
|
|
979
|
+
readonly helmReleases: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
980
|
+
/** Release name. */
|
|
981
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
982
|
+
/** Chart ref: an OCI ref (`oci://…`) or, with `repo`, a `repo/chart` name. */
|
|
983
|
+
readonly chart: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
984
|
+
/** Chart repo URL; absent ⇒ `chart` is an OCI ref. */
|
|
985
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
986
|
+
/** PINNED chart version, e.g. `1.2.3` / `v1.2.3` (floating tags like `latest`/`^1.0` rejected). */
|
|
987
|
+
readonly version: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "version must be a pinned semver (e.g. 1.2.3), not a floating tag like latest or ^1.0.">]>;
|
|
988
|
+
/** Namespace to install into, templated; absent ⇒ the environment namespace. */
|
|
989
|
+
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
990
|
+
/** Inline `--values` overrides. */
|
|
991
|
+
readonly values: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
992
|
+
/** Templated `--set` overrides. */
|
|
993
|
+
readonly set: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
994
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
995
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
996
|
+
/** The value, templated over the provision vars. */
|
|
997
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
998
|
+
}, undefined>, undefined>, undefined>;
|
|
999
|
+
/** Secret-bundle-backed values folded in at provision time (`--set <path>=<secret>`). */
|
|
1000
|
+
readonly valuesSecretRefs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1001
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1002
|
+
readonly secretRef: v.ObjectSchema<{
|
|
1003
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1004
|
+
}, undefined>;
|
|
1005
|
+
}, undefined>, undefined>, undefined>;
|
|
1006
|
+
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
1007
|
+
}, undefined>, undefined>, undefined>;
|
|
1008
|
+
readonly secretInjections: v.OptionalSchema<v.ArraySchema<v.VariantSchema<"mode", [v.ObjectSchema<{
|
|
1009
|
+
readonly mode: v.LiteralSchema<"secret", undefined>;
|
|
1010
|
+
/** Target Secret name in the namespace. */
|
|
1011
|
+
readonly secretName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1012
|
+
/** Secret `type`; absent ⇒ `Opaque`. */
|
|
1013
|
+
readonly secretType: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1014
|
+
readonly entries: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
1015
|
+
/** Key inside the rendered Secret / `.env`. */
|
|
1016
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 256, undefined>]>;
|
|
1017
|
+
/** Resolve the value from the workspace encrypted bundle by key. */
|
|
1018
|
+
readonly secretRef: v.OptionalSchema<v.ObjectSchema<{
|
|
1019
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1020
|
+
}, undefined>, undefined>;
|
|
1021
|
+
/** OR a non-secret value, templated over the provision vars. */
|
|
1022
|
+
readonly valueTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1023
|
+
}, undefined>, v.CheckAction<{
|
|
1024
|
+
key: string;
|
|
1025
|
+
secretRef?: {
|
|
1026
|
+
key: string;
|
|
1027
|
+
} | undefined;
|
|
1028
|
+
valueTemplate?: string | undefined;
|
|
1029
|
+
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
1030
|
+
}, undefined>, v.ObjectSchema<{
|
|
1031
|
+
readonly mode: v.LiteralSchema<"generatorEnvFile", undefined>;
|
|
1032
|
+
/**
|
|
1033
|
+
* Repo-relative path within the overlay tree to write the `KEY=value` env file the
|
|
1034
|
+
* overlay's `secretGenerator` reads (e.g. `overlays/<env>/<component>/.env`). The
|
|
1035
|
+
* overlay names the Secret.
|
|
1036
|
+
*/
|
|
1037
|
+
readonly envFilePath: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
1038
|
+
readonly entries: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
1039
|
+
/** Key inside the rendered Secret / `.env`. */
|
|
1040
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 256, undefined>]>;
|
|
1041
|
+
/** Resolve the value from the workspace encrypted bundle by key. */
|
|
1042
|
+
readonly secretRef: v.OptionalSchema<v.ObjectSchema<{
|
|
1043
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1044
|
+
}, undefined>, undefined>;
|
|
1045
|
+
/** OR a non-secret value, templated over the provision vars. */
|
|
1046
|
+
readonly valueTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1047
|
+
}, undefined>, v.CheckAction<{
|
|
1048
|
+
key: string;
|
|
1049
|
+
secretRef?: {
|
|
1050
|
+
key: string;
|
|
1051
|
+
} | undefined;
|
|
1052
|
+
valueTemplate?: string | undefined;
|
|
1053
|
+
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
1054
|
+
}, undefined>], undefined>, undefined>, undefined>;
|
|
753
1055
|
}, undefined>;
|
|
754
1056
|
export type ServiceProvisioning = v.InferOutput<typeof serviceProvisioningSchema>;
|
|
755
1057
|
/**
|
|
@@ -766,7 +1068,13 @@ export declare const kubernetesEngineConfigSchema: v.ObjectSchema<{
|
|
|
766
1068
|
readonly caCertPem: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
767
1069
|
/** Skip apiserver TLS verification — strongly discouraged; kind/dev clusters only. */
|
|
768
1070
|
readonly insecureSkipTlsVerify: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
769
|
-
/**
|
|
1071
|
+
/**
|
|
1072
|
+
* Namespace name template for the per-PR environment, e.g. `cf-env-{{pullNumber}}`. With
|
|
1073
|
+
* `renderer: 'kustomize'`, ABSENT ⇒ honor the overlay's own `namespace:` when it pins one
|
|
1074
|
+
* (the shared-namespace ephemeral-env shape, where base + overlay name a fixed namespace);
|
|
1075
|
+
* SET ⇒ override it (the adapter sets the namespace at build time) for true per-PR
|
|
1076
|
+
* isolation. For raw manifests, absent ⇒ a default derived from the PR number / block id.
|
|
1077
|
+
*/
|
|
770
1078
|
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
771
1079
|
/** How the environment URL is derived once applied. */
|
|
772
1080
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -785,6 +1093,16 @@ export declare const kubernetesEngineConfigSchema: v.ObjectSchema<{
|
|
|
785
1093
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
786
1094
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
787
1095
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1096
|
+
}, undefined>, v.ObjectSchema<{
|
|
1097
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
1098
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
1099
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1100
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1101
|
+
}, undefined>, v.ObjectSchema<{
|
|
1102
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
1103
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
1104
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1105
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
788
1106
|
}, undefined>], undefined>;
|
|
789
1107
|
/** Optional image reference made available to the manifests as `{{image}}`. */
|
|
790
1108
|
readonly imageTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
@@ -794,6 +1112,41 @@ export declare const kubernetesEngineConfigSchema: v.ObjectSchema<{
|
|
|
794
1112
|
readonly labels: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
795
1113
|
/** Extra annotations stamped on the namespace. */
|
|
796
1114
|
readonly annotations: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
1115
|
+
/**
|
|
1116
|
+
* Workspace-level (cluster-singleton) helm releases the deploy adapter ensures before
|
|
1117
|
+
* applying a service's manifests — e.g. an ingress/gateway controller shared by every
|
|
1118
|
+
* per-PR env. Use `scope: 'shared'`; installed once, never torn down per-PR. Merged
|
|
1119
|
+
* with the service's own (per-environment) `helmReleases` at provision time.
|
|
1120
|
+
*/
|
|
1121
|
+
readonly helmReleases: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1122
|
+
/** Release name. */
|
|
1123
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1124
|
+
/** Chart ref: an OCI ref (`oci://…`) or, with `repo`, a `repo/chart` name. */
|
|
1125
|
+
readonly chart: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1126
|
+
/** Chart repo URL; absent ⇒ `chart` is an OCI ref. */
|
|
1127
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1128
|
+
/** PINNED chart version, e.g. `1.2.3` / `v1.2.3` (floating tags like `latest`/`^1.0` rejected). */
|
|
1129
|
+
readonly version: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "version must be a pinned semver (e.g. 1.2.3), not a floating tag like latest or ^1.0.">]>;
|
|
1130
|
+
/** Namespace to install into, templated; absent ⇒ the environment namespace. */
|
|
1131
|
+
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
1132
|
+
/** Inline `--values` overrides. */
|
|
1133
|
+
readonly values: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
1134
|
+
/** Templated `--set` overrides. */
|
|
1135
|
+
readonly set: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1136
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
1137
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1138
|
+
/** The value, templated over the provision vars. */
|
|
1139
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
1140
|
+
}, undefined>, undefined>, undefined>;
|
|
1141
|
+
/** Secret-bundle-backed values folded in at provision time (`--set <path>=<secret>`). */
|
|
1142
|
+
readonly valuesSecretRefs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1143
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1144
|
+
readonly secretRef: v.ObjectSchema<{
|
|
1145
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1146
|
+
}, undefined>;
|
|
1147
|
+
}, undefined>, undefined>, undefined>;
|
|
1148
|
+
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
1149
|
+
}, undefined>, undefined>, undefined>;
|
|
797
1150
|
}, undefined>;
|
|
798
1151
|
export type KubernetesEngineConfig = v.InferOutput<typeof kubernetesEngineConfigSchema>;
|
|
799
1152
|
/**
|
|
@@ -944,7 +1297,13 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
944
1297
|
readonly caCertPem: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
945
1298
|
/** Skip apiserver TLS verification — strongly discouraged; kind/dev clusters only. */
|
|
946
1299
|
readonly insecureSkipTlsVerify: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
947
|
-
/**
|
|
1300
|
+
/**
|
|
1301
|
+
* Namespace name template for the per-PR environment, e.g. `cf-env-{{pullNumber}}`. With
|
|
1302
|
+
* `renderer: 'kustomize'`, ABSENT ⇒ honor the overlay's own `namespace:` when it pins one
|
|
1303
|
+
* (the shared-namespace ephemeral-env shape, where base + overlay name a fixed namespace);
|
|
1304
|
+
* SET ⇒ override it (the adapter sets the namespace at build time) for true per-PR
|
|
1305
|
+
* isolation. For raw manifests, absent ⇒ a default derived from the PR number / block id.
|
|
1306
|
+
*/
|
|
948
1307
|
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
949
1308
|
/** How the environment URL is derived once applied. */
|
|
950
1309
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -963,6 +1322,16 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
963
1322
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
964
1323
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
965
1324
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1325
|
+
}, undefined>, v.ObjectSchema<{
|
|
1326
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
1327
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
1328
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1329
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1330
|
+
}, undefined>, v.ObjectSchema<{
|
|
1331
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
1332
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
1333
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1334
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
966
1335
|
}, undefined>], undefined>;
|
|
967
1336
|
/** Optional image reference made available to the manifests as `{{image}}`. */
|
|
968
1337
|
readonly imageTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
@@ -972,6 +1341,41 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
972
1341
|
readonly labels: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
973
1342
|
/** Extra annotations stamped on the namespace. */
|
|
974
1343
|
readonly annotations: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
1344
|
+
/**
|
|
1345
|
+
* Workspace-level (cluster-singleton) helm releases the deploy adapter ensures before
|
|
1346
|
+
* applying a service's manifests — e.g. an ingress/gateway controller shared by every
|
|
1347
|
+
* per-PR env. Use `scope: 'shared'`; installed once, never torn down per-PR. Merged
|
|
1348
|
+
* with the service's own (per-environment) `helmReleases` at provision time.
|
|
1349
|
+
*/
|
|
1350
|
+
readonly helmReleases: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1351
|
+
/** Release name. */
|
|
1352
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1353
|
+
/** Chart ref: an OCI ref (`oci://…`) or, with `repo`, a `repo/chart` name. */
|
|
1354
|
+
readonly chart: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1355
|
+
/** Chart repo URL; absent ⇒ `chart` is an OCI ref. */
|
|
1356
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1357
|
+
/** PINNED chart version, e.g. `1.2.3` / `v1.2.3` (floating tags like `latest`/`^1.0` rejected). */
|
|
1358
|
+
readonly version: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "version must be a pinned semver (e.g. 1.2.3), not a floating tag like latest or ^1.0.">]>;
|
|
1359
|
+
/** Namespace to install into, templated; absent ⇒ the environment namespace. */
|
|
1360
|
+
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
1361
|
+
/** Inline `--values` overrides. */
|
|
1362
|
+
readonly values: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
1363
|
+
/** Templated `--set` overrides. */
|
|
1364
|
+
readonly set: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1365
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
1366
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1367
|
+
/** The value, templated over the provision vars. */
|
|
1368
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
1369
|
+
}, undefined>, undefined>, undefined>;
|
|
1370
|
+
/** Secret-bundle-backed values folded in at provision time (`--set <path>=<secret>`). */
|
|
1371
|
+
readonly valuesSecretRefs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1372
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1373
|
+
readonly secretRef: v.ObjectSchema<{
|
|
1374
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1375
|
+
}, undefined>;
|
|
1376
|
+
}, undefined>, undefined>, undefined>;
|
|
1377
|
+
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
1378
|
+
}, undefined>, undefined>, undefined>;
|
|
975
1379
|
}, undefined>;
|
|
976
1380
|
}, undefined>, v.ObjectSchema<{
|
|
977
1381
|
readonly engine: v.LiteralSchema<"remote-kubernetes", undefined>;
|
|
@@ -983,7 +1387,13 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
983
1387
|
readonly caCertPem: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
984
1388
|
/** Skip apiserver TLS verification — strongly discouraged; kind/dev clusters only. */
|
|
985
1389
|
readonly insecureSkipTlsVerify: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
986
|
-
/**
|
|
1390
|
+
/**
|
|
1391
|
+
* Namespace name template for the per-PR environment, e.g. `cf-env-{{pullNumber}}`. With
|
|
1392
|
+
* `renderer: 'kustomize'`, ABSENT ⇒ honor the overlay's own `namespace:` when it pins one
|
|
1393
|
+
* (the shared-namespace ephemeral-env shape, where base + overlay name a fixed namespace);
|
|
1394
|
+
* SET ⇒ override it (the adapter sets the namespace at build time) for true per-PR
|
|
1395
|
+
* isolation. For raw manifests, absent ⇒ a default derived from the PR number / block id.
|
|
1396
|
+
*/
|
|
987
1397
|
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
988
1398
|
/** How the environment URL is derived once applied. */
|
|
989
1399
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -1002,6 +1412,16 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
1002
1412
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
1003
1413
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
1004
1414
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1415
|
+
}, undefined>, v.ObjectSchema<{
|
|
1416
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
1417
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
1418
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1419
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1420
|
+
}, undefined>, v.ObjectSchema<{
|
|
1421
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
1422
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
1423
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1424
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1005
1425
|
}, undefined>], undefined>;
|
|
1006
1426
|
/** Optional image reference made available to the manifests as `{{image}}`. */
|
|
1007
1427
|
readonly imageTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
@@ -1011,6 +1431,41 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
1011
1431
|
readonly labels: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
1012
1432
|
/** Extra annotations stamped on the namespace. */
|
|
1013
1433
|
readonly annotations: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
1434
|
+
/**
|
|
1435
|
+
* Workspace-level (cluster-singleton) helm releases the deploy adapter ensures before
|
|
1436
|
+
* applying a service's manifests — e.g. an ingress/gateway controller shared by every
|
|
1437
|
+
* per-PR env. Use `scope: 'shared'`; installed once, never torn down per-PR. Merged
|
|
1438
|
+
* with the service's own (per-environment) `helmReleases` at provision time.
|
|
1439
|
+
*/
|
|
1440
|
+
readonly helmReleases: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1441
|
+
/** Release name. */
|
|
1442
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1443
|
+
/** Chart ref: an OCI ref (`oci://…`) or, with `repo`, a `repo/chart` name. */
|
|
1444
|
+
readonly chart: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1445
|
+
/** Chart repo URL; absent ⇒ `chart` is an OCI ref. */
|
|
1446
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1447
|
+
/** PINNED chart version, e.g. `1.2.3` / `v1.2.3` (floating tags like `latest`/`^1.0` rejected). */
|
|
1448
|
+
readonly version: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "version must be a pinned semver (e.g. 1.2.3), not a floating tag like latest or ^1.0.">]>;
|
|
1449
|
+
/** Namespace to install into, templated; absent ⇒ the environment namespace. */
|
|
1450
|
+
readonly namespaceTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>, undefined>;
|
|
1451
|
+
/** Inline `--values` overrides. */
|
|
1452
|
+
readonly values: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
1453
|
+
/** Templated `--set` overrides. */
|
|
1454
|
+
readonly set: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1455
|
+
/** Dotted `--set` path, e.g. `config.rateLimit.enabled`. */
|
|
1456
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1457
|
+
/** The value, templated over the provision vars. */
|
|
1458
|
+
readonly valueTemplate: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
1459
|
+
}, undefined>, undefined>, undefined>;
|
|
1460
|
+
/** Secret-bundle-backed values folded in at provision time (`--set <path>=<secret>`). */
|
|
1461
|
+
readonly valuesSecretRefs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1462
|
+
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
1463
|
+
readonly secretRef: v.ObjectSchema<{
|
|
1464
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
1465
|
+
}, undefined>;
|
|
1466
|
+
}, undefined>, undefined>, undefined>;
|
|
1467
|
+
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
1468
|
+
}, undefined>, undefined>, undefined>;
|
|
1014
1469
|
}, undefined>;
|
|
1015
1470
|
}, undefined>, v.ObjectSchema<{
|
|
1016
1471
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
@@ -1381,6 +1836,7 @@ export declare const environmentConnectionSchema: v.ObjectSchema<{
|
|
|
1381
1836
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
1382
1837
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
1383
1838
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
1839
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
1384
1840
|
}, undefined>, v.ObjectSchema<{
|
|
1385
1841
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
1386
1842
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -1389,6 +1845,7 @@ export declare const environmentConnectionSchema: v.ObjectSchema<{
|
|
|
1389
1845
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1390
1846
|
/** File or directory path within the manifests repo. */
|
|
1391
1847
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
1848
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
1392
1849
|
}, undefined>], undefined>;
|
|
1393
1850
|
/** How the environment URL is derived once applied. */
|
|
1394
1851
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -1407,6 +1864,16 @@ export declare const environmentConnectionSchema: v.ObjectSchema<{
|
|
|
1407
1864
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
1408
1865
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
1409
1866
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1867
|
+
}, undefined>, v.ObjectSchema<{
|
|
1868
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
1869
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
1870
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1871
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1872
|
+
}, undefined>, v.ObjectSchema<{
|
|
1873
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
1874
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
1875
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1876
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1410
1877
|
}, undefined>], undefined>;
|
|
1411
1878
|
/**
|
|
1412
1879
|
* Optional image reference made available to the manifests as `{{image}}` (e.g. a
|
|
@@ -1716,6 +2183,7 @@ export declare const registerEnvironmentProviderSchema: v.ObjectSchema<{
|
|
|
1716
2183
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
1717
2184
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
1718
2185
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
2186
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
1719
2187
|
}, undefined>, v.ObjectSchema<{
|
|
1720
2188
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
1721
2189
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -1724,6 +2192,7 @@ export declare const registerEnvironmentProviderSchema: v.ObjectSchema<{
|
|
|
1724
2192
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1725
2193
|
/** File or directory path within the manifests repo. */
|
|
1726
2194
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
2195
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
1727
2196
|
}, undefined>], undefined>;
|
|
1728
2197
|
/** How the environment URL is derived once applied. */
|
|
1729
2198
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -1742,6 +2211,16 @@ export declare const registerEnvironmentProviderSchema: v.ObjectSchema<{
|
|
|
1742
2211
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
1743
2212
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
1744
2213
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
2214
|
+
}, undefined>, v.ObjectSchema<{
|
|
2215
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
2216
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
2217
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
2218
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
2219
|
+
}, undefined>, v.ObjectSchema<{
|
|
2220
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
2221
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
2222
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
2223
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
1745
2224
|
}, undefined>], undefined>;
|
|
1746
2225
|
/**
|
|
1747
2226
|
* Optional image reference made available to the manifests as `{{image}}` (e.g. a
|
|
@@ -2053,6 +2532,7 @@ export declare const testEnvironmentConnectionSchema: v.ObjectSchema<{
|
|
|
2053
2532
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
2054
2533
|
/** File or directory path within the PR repo (read at the PR head branch). */
|
|
2055
2534
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
2535
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
2056
2536
|
}, undefined>, v.ObjectSchema<{
|
|
2057
2537
|
readonly type: v.LiteralSchema<"separate", undefined>;
|
|
2058
2538
|
/** `owner/repo` of the manifests repo. */
|
|
@@ -2061,6 +2541,7 @@ export declare const testEnvironmentConnectionSchema: v.ObjectSchema<{
|
|
|
2061
2541
|
readonly ref: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
2062
2542
|
/** File or directory path within the manifests repo. */
|
|
2063
2543
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
2544
|
+
readonly renderer: v.OptionalSchema<v.PicklistSchema<["raw", "kustomize"], undefined>, undefined>;
|
|
2064
2545
|
}, undefined>], undefined>;
|
|
2065
2546
|
/** How the environment URL is derived once applied. */
|
|
2066
2547
|
readonly url: v.VariantSchema<"source", [v.ObjectSchema<{
|
|
@@ -2079,6 +2560,16 @@ export declare const testEnvironmentConnectionSchema: v.ObjectSchema<{
|
|
|
2079
2560
|
readonly serviceName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
2080
2561
|
readonly port: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65535, undefined>]>, undefined>;
|
|
2081
2562
|
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
2563
|
+
}, undefined>, v.ObjectSchema<{
|
|
2564
|
+
readonly source: v.LiteralSchema<"gatewayStatus", undefined>;
|
|
2565
|
+
/** Gateway-API `Gateway` to read `.status.addresses[]` from; absent ⇒ the only one applied. */
|
|
2566
|
+
readonly gatewayName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
2567
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
2568
|
+
}, undefined>, v.ObjectSchema<{
|
|
2569
|
+
readonly source: v.LiteralSchema<"httpRouteStatus", undefined>;
|
|
2570
|
+
/** `HTTPRoute` whose `parentRefs` resolve to the Gateway address; absent ⇒ the only one applied. */
|
|
2571
|
+
readonly httpRouteName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
2572
|
+
readonly scheme: v.OptionalSchema<v.PicklistSchema<["http", "https"], undefined>, undefined>;
|
|
2082
2573
|
}, undefined>], undefined>;
|
|
2083
2574
|
/**
|
|
2084
2575
|
* Optional image reference made available to the manifests as `{{image}}` (e.g. a
|