@intentius/chant-lexicon-cpln 0.53.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 +85 -0
- package/dist/api.d.ts +77 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/codegen/docs-cli.d.ts +3 -0
- package/dist/codegen/docs-cli.d.ts.map +1 -0
- package/dist/codegen/docs.d.ts +17 -0
- package/dist/codegen/docs.d.ts.map +1 -0
- package/dist/codegen/generate-cli.d.ts +6 -0
- package/dist/codegen/generate-cli.d.ts.map +1 -0
- package/dist/codegen/generate-lexicon.d.ts +36 -0
- package/dist/codegen/generate-lexicon.d.ts.map +1 -0
- package/dist/codegen/generate-typescript.d.ts +11 -0
- package/dist/codegen/generate-typescript.d.ts.map +1 -0
- package/dist/codegen/generate.d.ts +15 -0
- package/dist/codegen/generate.d.ts.map +1 -0
- package/dist/codegen/naming.d.ts +30 -0
- package/dist/codegen/naming.d.ts.map +1 -0
- package/dist/codegen/package.d.ts +17 -0
- package/dist/codegen/package.d.ts.map +1 -0
- package/dist/composites/cron-job.d.ts +60 -0
- package/dist/composites/cron-job.d.ts.map +1 -0
- package/dist/composites/gvc-environment.d.ts +47 -0
- package/dist/composites/gvc-environment.d.ts.map +1 -0
- package/dist/composites/index.d.ts +13 -0
- package/dist/composites/index.d.ts.map +1 -0
- package/dist/composites/public-domain.d.ts +68 -0
- package/dist/composites/public-domain.d.ts.map +1 -0
- package/dist/composites/secret-access.d.ts +78 -0
- package/dist/composites/secret-access.d.ts.map +1 -0
- package/dist/composites/serverless-service.d.ts +78 -0
- package/dist/composites/serverless-service.d.ts.map +1 -0
- package/dist/composites/stateful-service.d.ts +79 -0
- package/dist/composites/stateful-service.d.ts.map +1 -0
- package/dist/coverage.d.ts +59 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/describe-resources.d.ts +71 -0
- package/dist/describe-resources.d.ts.map +1 -0
- package/dist/detect.d.ts +14 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/entity-props.d.ts +34 -0
- package/dist/entity-props.d.ts.map +1 -0
- package/dist/generated/index.d.ts +151 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/runtime.d.ts +5 -0
- package/dist/generated/runtime.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/init-templates.d.ts +16 -0
- package/dist/init-templates.d.ts.map +1 -0
- package/dist/integrity.json +35 -0
- package/dist/kinds.d.ts +70 -0
- package/dist/kinds.d.ts.map +1 -0
- package/dist/lint/audit-catalog.d.ts +19 -0
- package/dist/lint/audit-catalog.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl010-unrestricted-outbound.d.ts +12 -0
- package/dist/lint/post-synth/cpl010-unrestricted-outbound.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl011-internal-firewall-scope.d.ts +11 -0
- package/dist/lint/post-synth/cpl011-internal-firewall-scope.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl012-no-literal-credential-env.d.ts +11 -0
- package/dist/lint/post-synth/cpl012-no-literal-credential-env.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl013-qualified-identity-principal.d.ts +11 -0
- package/dist/lint/post-synth/cpl013-qualified-identity-principal.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl014-qualified-secret-ref.d.ts +14 -0
- package/dist/lint/post-synth/cpl014-qualified-secret-ref.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl020-serverless-single-port.d.ts +10 -0
- package/dist/lint/post-synth/cpl020-serverless-single-port.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl021-cron-job-shape.d.ts +11 -0
- package/dist/lint/post-synth/cpl021-cron-job-shape.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl022-container-ports.d.ts +10 -0
- package/dist/lint/post-synth/cpl022-container-ports.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl023-container-resources.d.ts +12 -0
- package/dist/lint/post-synth/cpl023-container-resources.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl024-probe-handler.d.ts +10 -0
- package/dist/lint/post-synth/cpl024-probe-handler.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl025-autoscaling-shape.d.ts +11 -0
- package/dist/lint/post-synth/cpl025-autoscaling-shape.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl026-scale-to-zero.d.ts +11 -0
- package/dist/lint/post-synth/cpl026-scale-to-zero.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl027-capacity-ai-conflict.d.ts +13 -0
- package/dist/lint/post-synth/cpl027-capacity-ai-conflict.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl028-volume-set.d.ts +3 -0
- package/dist/lint/post-synth/cpl028-volume-set.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl029-link-targets.d.ts +3 -0
- package/dist/lint/post-synth/cpl029-link-targets.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl030-domain-routing.d.ts +3 -0
- package/dist/lint/post-synth/cpl030-domain-routing.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl040-pinned-image.d.ts +11 -0
- package/dist/lint/post-synth/cpl040-pinned-image.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl041-image-reference-form.d.ts +12 -0
- package/dist/lint/post-synth/cpl041-image-reference-form.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl042-gvc-placement.d.ts +10 -0
- package/dist/lint/post-synth/cpl042-gvc-placement.d.ts.map +1 -0
- package/dist/lint/post-synth/cpl043-policy-scope.d.ts +16 -0
- package/dist/lint/post-synth/cpl043-policy-scope.d.ts.map +1 -0
- package/dist/lint/post-synth/helpers.d.ts +45 -0
- package/dist/lint/post-synth/helpers.d.ts.map +1 -0
- package/dist/lint/post-synth/index.d.ts +3 -0
- package/dist/lint/post-synth/index.d.ts.map +1 -0
- package/dist/lint/rules/cpl001-no-secret-literals.d.ts +3 -0
- package/dist/lint/rules/cpl001-no-secret-literals.d.ts.map +1 -0
- package/dist/lint/rules/cpl002-prefer-resource-reference.d.ts +3 -0
- package/dist/lint/rules/cpl002-prefer-resource-reference.d.ts.map +1 -0
- package/dist/lint/rules/index.d.ts +6 -0
- package/dist/lint/rules/index.d.ts.map +1 -0
- package/dist/lsp/completions.d.ts +7 -0
- package/dist/lsp/completions.d.ts.map +1 -0
- package/dist/lsp/hover.d.ts +4 -0
- package/dist/lsp/hover.d.ts.map +1 -0
- package/dist/manifest.json +6 -0
- package/dist/meta.json +2110 -0
- package/dist/okf/index.md +39 -0
- package/dist/okf/rules/CPL001.md +22 -0
- package/dist/okf/rules/CPL002.md +22 -0
- package/dist/okf/rules/CPL010.md +15 -0
- package/dist/okf/rules/CPL011.md +15 -0
- package/dist/okf/rules/CPL012.md +15 -0
- package/dist/okf/rules/CPL013.md +15 -0
- package/dist/okf/rules/CPL014.md +16 -0
- package/dist/okf/rules/CPL020.md +11 -0
- package/dist/okf/rules/CPL021.md +15 -0
- package/dist/okf/rules/CPL022.md +15 -0
- package/dist/okf/rules/CPL023.md +15 -0
- package/dist/okf/rules/CPL024.md +15 -0
- package/dist/okf/rules/CPL025.md +15 -0
- package/dist/okf/rules/CPL026.md +15 -0
- package/dist/okf/rules/CPL027.md +15 -0
- package/dist/okf/rules/CPL028.md +15 -0
- package/dist/okf/rules/CPL029.md +15 -0
- package/dist/okf/rules/CPL030.md +16 -0
- package/dist/okf/rules/CPL040.md +15 -0
- package/dist/okf/rules/CPL041.md +15 -0
- package/dist/okf/rules/CPL042.md +11 -0
- package/dist/okf/rules/CPL043.md +15 -0
- package/dist/okf/types/Domain.md +22 -0
- package/dist/okf/types/Gvc.md +21 -0
- package/dist/okf/types/Identity.md +29 -0
- package/dist/okf/types/IpSet.md +21 -0
- package/dist/okf/types/Policy.md +28 -0
- package/dist/okf/types/Secret.md +23 -0
- package/dist/okf/types/VolumeSet.md +22 -0
- package/dist/okf/types/Workload.md +38 -0
- package/dist/ownership.d.ts +23 -0
- package/dist/ownership.d.ts.map +1 -0
- package/dist/package-cli.d.ts +3 -0
- package/dist/package-cli.d.ts.map +1 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/reference-catalog.d.ts +24 -0
- package/dist/reference-catalog.d.ts.map +1 -0
- package/dist/rules/cpl001-no-secret-literals.ts +83 -0
- package/dist/rules/cpl002-prefer-resource-reference.ts +71 -0
- package/dist/rules/cpl010-unrestricted-outbound.ts +41 -0
- package/dist/rules/cpl011-internal-firewall-scope.ts +38 -0
- package/dist/rules/cpl012-no-literal-credential-env.ts +58 -0
- package/dist/rules/cpl013-qualified-identity-principal.ts +45 -0
- package/dist/rules/cpl014-qualified-secret-ref.ts +54 -0
- package/dist/rules/cpl020-serverless-single-port.ts +58 -0
- package/dist/rules/cpl021-cron-job-shape.ts +64 -0
- package/dist/rules/cpl022-container-ports.ts +64 -0
- package/dist/rules/cpl023-container-resources.ts +87 -0
- package/dist/rules/cpl024-probe-handler.ts +51 -0
- package/dist/rules/cpl025-autoscaling-shape.ts +100 -0
- package/dist/rules/cpl026-scale-to-zero.ts +67 -0
- package/dist/rules/cpl027-capacity-ai-conflict.ts +78 -0
- package/dist/rules/cpl028-volume-set.ts +183 -0
- package/dist/rules/cpl029-link-targets.ts +155 -0
- package/dist/rules/cpl030-domain-routing.ts +137 -0
- package/dist/rules/cpl040-pinned-image.ts +48 -0
- package/dist/rules/cpl041-image-reference-form.ts +60 -0
- package/dist/rules/cpl042-gvc-placement.ts +57 -0
- package/dist/rules/cpl043-policy-scope.ts +0 -0
- package/dist/rules/helpers.ts +114 -0
- package/dist/serializer.d.ts +69 -0
- package/dist/serializer.d.ts.map +1 -0
- package/dist/skills/chant-cpln-secrets.md +110 -0
- package/dist/skills/chant-cpln-workloads.md +78 -0
- package/dist/skills/chant-cpln.md +103 -0
- package/dist/spec/fetch.d.ts +43 -0
- package/dist/spec/fetch.d.ts.map +1 -0
- package/dist/spec/parse.d.ts +79 -0
- package/dist/spec/parse.d.ts.map +1 -0
- package/dist/spec/snapshot-cli.d.ts +18 -0
- package/dist/spec/snapshot-cli.d.ts.map +1 -0
- package/dist/types/index.d.ts +1649 -0
- package/dist/validate-cli.d.ts +3 -0
- package/dist/validate-cli.d.ts.map +1 -0
- package/dist/validate.d.ts +26 -0
- package/dist/validate.d.ts.map +1 -0
- package/package.json +74 -0
- package/src/api.ts +134 -0
- package/src/codegen/docs-cli.ts +7 -0
- package/src/codegen/docs.ts +94 -0
- package/src/codegen/generate-cli.ts +34 -0
- package/src/codegen/generate-lexicon.ts +88 -0
- package/src/codegen/generate-typescript.ts +71 -0
- package/src/codegen/generate.ts +110 -0
- package/src/codegen/naming.ts +61 -0
- package/src/codegen/package.ts +35 -0
- package/src/composites/composites.test.ts +252 -0
- package/src/composites/cron-job.ts +124 -0
- package/src/composites/gvc-environment.ts +104 -0
- package/src/composites/index.ts +17 -0
- package/src/composites/public-domain.ts +144 -0
- package/src/composites/secret-access.ts +136 -0
- package/src/composites/serverless-service.ts +143 -0
- package/src/composites/stateful-service.ts +179 -0
- package/src/coverage.ts +149 -0
- package/src/describe-resources.test.ts +252 -0
- package/src/describe-resources.ts +310 -0
- package/src/detect.ts +58 -0
- package/src/entity-props.ts +98 -0
- package/src/generated/index.d.ts +1649 -0
- package/src/generated/index.ts +156 -0
- package/src/generated/lexicon-cpln.json +2110 -0
- package/src/generated/runtime.ts +4 -0
- package/src/index.ts +31 -0
- package/src/init-templates.ts +131 -0
- package/src/kinds.ts +173 -0
- package/src/lint/audit-catalog.ts +230 -0
- package/src/lint/post-synth/cpl010-unrestricted-outbound.ts +41 -0
- package/src/lint/post-synth/cpl011-internal-firewall-scope.ts +38 -0
- package/src/lint/post-synth/cpl012-no-literal-credential-env.ts +58 -0
- package/src/lint/post-synth/cpl013-qualified-identity-principal.ts +45 -0
- package/src/lint/post-synth/cpl014-qualified-secret-ref.ts +54 -0
- package/src/lint/post-synth/cpl020-serverless-single-port.ts +58 -0
- package/src/lint/post-synth/cpl021-cron-job-shape.ts +64 -0
- package/src/lint/post-synth/cpl022-container-ports.ts +64 -0
- package/src/lint/post-synth/cpl023-container-resources.ts +87 -0
- package/src/lint/post-synth/cpl024-probe-handler.ts +51 -0
- package/src/lint/post-synth/cpl025-autoscaling-shape.ts +100 -0
- package/src/lint/post-synth/cpl026-scale-to-zero.ts +67 -0
- package/src/lint/post-synth/cpl027-capacity-ai-conflict.ts +78 -0
- package/src/lint/post-synth/cpl028-volume-set.ts +183 -0
- package/src/lint/post-synth/cpl029-link-targets.ts +155 -0
- package/src/lint/post-synth/cpl030-domain-routing.ts +137 -0
- package/src/lint/post-synth/cpl040-pinned-image.ts +48 -0
- package/src/lint/post-synth/cpl041-image-reference-form.ts +60 -0
- package/src/lint/post-synth/cpl042-gvc-placement.ts +57 -0
- package/src/lint/post-synth/cpl043-policy-scope.ts +0 -0
- package/src/lint/post-synth/helpers.ts +114 -0
- package/src/lint/post-synth/index.ts +45 -0
- package/src/lint/post-synth/post-synth.test.ts +737 -0
- package/src/lint/rules/cpl001-no-secret-literals.ts +83 -0
- package/src/lint/rules/cpl002-prefer-resource-reference.ts +71 -0
- package/src/lint/rules/index.ts +9 -0
- package/src/lint/rules/rules.test.ts +108 -0
- package/src/lsp/completions.test.ts +44 -0
- package/src/lsp/completions.ts +27 -0
- package/src/lsp/hover.test.ts +53 -0
- package/src/lsp/hover.ts +130 -0
- package/src/ownership.ts +28 -0
- package/src/package-cli.ts +25 -0
- package/src/plugin.test.ts +131 -0
- package/src/plugin.ts +187 -0
- package/src/reference-catalog.ts +110 -0
- package/src/serializer.test.ts +233 -0
- package/src/serializer.ts +253 -0
- package/src/skills/chant-cpln-secrets.md +110 -0
- package/src/skills/chant-cpln-workloads.md +78 -0
- package/src/skills/chant-cpln.md +103 -0
- package/src/spec/cpln-openapi.snapshot.json +10651 -0
- package/src/spec/fetch.ts +77 -0
- package/src/spec/parse.ts +451 -0
- package/src/spec/snapshot-cli.ts +71 -0
- package/src/validate-cli.ts +8 -0
- package/src/validate.ts +102 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ServerlessService — a serverless workload with the port, probe and firewall
|
|
3
|
+
* settings a public HTTP service actually needs.
|
|
4
|
+
*
|
|
5
|
+
* Serverless is the Control Plane workload type with the most rules attached to
|
|
6
|
+
* it, and most of them are easy to get wrong by omission rather than by writing
|
|
7
|
+
* something incorrect:
|
|
8
|
+
*
|
|
9
|
+
* - It must expose *exactly one* HTTP port. Zero or two is rejected.
|
|
10
|
+
* - The external firewall's inbound is closed by default, so a workload that
|
|
11
|
+
* looks completely correct serves nothing until a CIDR is added.
|
|
12
|
+
* - `concurrency` and `rps` are the only strategies that scale to zero, and
|
|
13
|
+
* only on this workload type.
|
|
14
|
+
*
|
|
15
|
+
* The defaults here are Control Plane's own, restated so they are visible at
|
|
16
|
+
* the call site rather than implied.
|
|
17
|
+
*/
|
|
18
|
+
import { Workload } from "../generated/index.js";
|
|
19
|
+
export interface ServerlessServiceProps {
|
|
20
|
+
/** Workload name. Max 49 characters, and cannot end with `-headless`. */
|
|
21
|
+
name: string;
|
|
22
|
+
/** GVC this workload is deployed into. */
|
|
23
|
+
gvc: string;
|
|
24
|
+
/** Container image. Use `//image/NAME:TAG` for the org's own registry. */
|
|
25
|
+
image: string;
|
|
26
|
+
/**
|
|
27
|
+
* The port the container listens on. Serverless exposes exactly one HTTP
|
|
28
|
+
* port, and it must match what the process actually binds or health checks
|
|
29
|
+
* fail.
|
|
30
|
+
*/
|
|
31
|
+
port?: number;
|
|
32
|
+
/** Protocol for the exposed port (default `http`). */
|
|
33
|
+
protocol?: "http" | "http2";
|
|
34
|
+
/** Container name (default `main`). */
|
|
35
|
+
containerName?: string;
|
|
36
|
+
/** CPU in millicores (default `50m`). Minimum 25m. */
|
|
37
|
+
cpu?: string;
|
|
38
|
+
/** Memory (default `128Mi`). Minimum 32Mi, and memory(MiB)/cpu(m) must be ≤ 8. */
|
|
39
|
+
memory?: string;
|
|
40
|
+
/** Environment variables, as a plain map. */
|
|
41
|
+
env?: Record<string, string>;
|
|
42
|
+
/**
|
|
43
|
+
* CIDRs allowed to reach the workload from the internet. Defaults to closed;
|
|
44
|
+
* pass `["0.0.0.0/0"]` for a public service.
|
|
45
|
+
*/
|
|
46
|
+
inboundAllowCidr?: string[];
|
|
47
|
+
/** Hostnames or CIDRs the workload may call out to. Defaults to closed. */
|
|
48
|
+
outboundAllowCidr?: string[];
|
|
49
|
+
/** Minimum replicas (default 1). `0` scales to zero. */
|
|
50
|
+
minScale?: number;
|
|
51
|
+
/** Maximum replicas (default 5). */
|
|
52
|
+
maxScale?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Autoscaling strategy (default `concurrency`). Only `concurrency` and `rps`
|
|
55
|
+
* scale a serverless workload to zero; `cpu`/`memory` cannot, and `latency`
|
|
56
|
+
* and multi-metric are not available on serverless at all.
|
|
57
|
+
*/
|
|
58
|
+
autoscalingMetric?: "concurrency" | "rps" | "cpu" | "memory" | "disabled";
|
|
59
|
+
/** Scaling target (default 95). Capped at 100 for cpu/memory. */
|
|
60
|
+
autoscalingTarget?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Identity to run as, as a link (`//gvc/GVC/identity/NAME`). Leave unset
|
|
63
|
+
* unless the workload needs secret access, credential-free cloud access or
|
|
64
|
+
* private networking — an unnecessary identity assignment complicates audit
|
|
65
|
+
* traces.
|
|
66
|
+
*/
|
|
67
|
+
identityLink?: string;
|
|
68
|
+
/** Tags applied to the workload. */
|
|
69
|
+
tags?: Record<string, string>;
|
|
70
|
+
/** Per-member defaults for customizing the underlying resource. */
|
|
71
|
+
defaults?: {
|
|
72
|
+
workload?: Partial<ConstructorParameters<typeof Workload>[0]>;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export declare const ServerlessService: import("@intentius/chant").CompositeDefinition<ServerlessServiceProps, {
|
|
76
|
+
workload: import("@intentius/chant").Declarable & Record<string, string>;
|
|
77
|
+
}>;
|
|
78
|
+
//# sourceMappingURL=serverless-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverless-service.d.ts","sourceRoot":"","sources":["../../src/composites/serverless-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1E,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB;;EAgEP,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StatefulService — a stateful workload with its volume set, mounted.
|
|
3
|
+
*
|
|
4
|
+
* Persistent storage on Control Plane is two resources that have to agree, and
|
|
5
|
+
* the ways they can disagree are all expensive:
|
|
6
|
+
*
|
|
7
|
+
* - `ext4` and `xfs` volume sets bind to exactly one *stateful* workload.
|
|
8
|
+
* Mounting one from a serverless or standard workload is not a degraded
|
|
9
|
+
* mode, it is rejected.
|
|
10
|
+
* - `fileSystemType` and `performanceClass` are both immutable. Changing
|
|
11
|
+
* either later means delete and recreate, which means data loss.
|
|
12
|
+
* - `high-throughput-ssd` has a 200 GB floor, not the 10 GB floor the other
|
|
13
|
+
* classes have, so an initial capacity that is fine for one class is invalid
|
|
14
|
+
* for another.
|
|
15
|
+
* - A volume set is GVC-scoped and only mountable from its own GVC.
|
|
16
|
+
*
|
|
17
|
+
* This composite pairs them so the mount URI, the GVC and the workload type
|
|
18
|
+
* cannot drift apart, and validates the capacity floor at build time rather
|
|
19
|
+
* than at apply time.
|
|
20
|
+
*/
|
|
21
|
+
import { Workload, VolumeSet } from "../generated/index.js";
|
|
22
|
+
export interface StatefulServiceProps {
|
|
23
|
+
/** Workload name. The volume set is named `<name>-data` unless overridden. */
|
|
24
|
+
name: string;
|
|
25
|
+
/** GVC for both the workload and the volume set. */
|
|
26
|
+
gvc: string;
|
|
27
|
+
/** Container image. */
|
|
28
|
+
image: string;
|
|
29
|
+
/** Mount path inside the container. */
|
|
30
|
+
mountPath: string;
|
|
31
|
+
/** Initial volume capacity in GB. Must clear the performance class floor. */
|
|
32
|
+
capacityGb: number;
|
|
33
|
+
/** Volume set name (default `<name>-data`). */
|
|
34
|
+
volumeSetName?: string;
|
|
35
|
+
/** Filesystem (default `ext4`). Immutable after creation. */
|
|
36
|
+
fileSystemType?: "ext4" | "xfs" | "shared";
|
|
37
|
+
/** Performance class (default `general-purpose-ssd`). Immutable after creation. */
|
|
38
|
+
performanceClass?: "general-purpose-ssd" | "high-throughput-ssd" | "shared";
|
|
39
|
+
/**
|
|
40
|
+
* What happens to the volume when the workload releases it (default
|
|
41
|
+
* `retain`). `recycle` discards the data.
|
|
42
|
+
*/
|
|
43
|
+
recoveryPolicy?: "retain" | "recycle";
|
|
44
|
+
/** Ports the container exposes. */
|
|
45
|
+
ports?: Array<{
|
|
46
|
+
number: number;
|
|
47
|
+
protocol?: "http" | "http2" | "grpc" | "tcp";
|
|
48
|
+
}>;
|
|
49
|
+
/** Container name (default `main`). */
|
|
50
|
+
containerName?: string;
|
|
51
|
+
/** CPU in millicores (default `50m`). */
|
|
52
|
+
cpu?: string;
|
|
53
|
+
/** Memory (default `128Mi`). */
|
|
54
|
+
memory?: string;
|
|
55
|
+
/** Environment variables, as a plain map. */
|
|
56
|
+
env?: Record<string, string>;
|
|
57
|
+
/** CIDRs allowed to reach the workload from the internet. Defaults to closed. */
|
|
58
|
+
inboundAllowCidr?: string[];
|
|
59
|
+
/** Hostnames or CIDRs the workload may call out to. Defaults to closed. */
|
|
60
|
+
outboundAllowCidr?: string[];
|
|
61
|
+
/** Minimum replicas (default 1). Stateful cannot scale to zero without KEDA. */
|
|
62
|
+
minScale?: number;
|
|
63
|
+
/** Maximum replicas (default 1). */
|
|
64
|
+
maxScale?: number;
|
|
65
|
+
/** Identity to run as, as a link (`//gvc/GVC/identity/NAME`). */
|
|
66
|
+
identityLink?: string;
|
|
67
|
+
/** Tags applied to both resources. */
|
|
68
|
+
tags?: Record<string, string>;
|
|
69
|
+
/** Per-member defaults for customizing individual resources. */
|
|
70
|
+
defaults?: {
|
|
71
|
+
workload?: Partial<ConstructorParameters<typeof Workload>[0]>;
|
|
72
|
+
volumeSet?: Partial<ConstructorParameters<typeof VolumeSet>[0]>;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export declare const StatefulService: import("@intentius/chant").CompositeDefinition<StatefulServiceProps, {
|
|
76
|
+
workload: import("@intentius/chant").Declarable & Record<string, string>;
|
|
77
|
+
volumeSet: import("@intentius/chant").Declarable & Record<string, string>;
|
|
78
|
+
}>;
|
|
79
|
+
//# sourceMappingURL=stateful-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateful-service.d.ts","sourceRoot":"","sources":["../../src/composites/stateful-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASnD,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,QAAQ,CAAC;IAC5E;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACtC,mCAAmC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;KAAE,CAAC,CAAC;IAChF,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE,CAAC;CACH;AAED,eAAO,MAAM,eAAe;;;EAgGP,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage analysis for the cpln lexicon.
|
|
3
|
+
*
|
|
4
|
+
* The shared `computeCoverage` measures CloudFormation-shaped dimensions
|
|
5
|
+
* (lifecycle flags, return attributes, extension constraints) that an
|
|
6
|
+
* eight-kind OpenAPI lexicon has no analog for — it would report 0% on
|
|
7
|
+
* everything and mean nothing. What cpln needs to know is two different things:
|
|
8
|
+
*
|
|
9
|
+
* 1. **Kind coverage** — which of the API's kinds are modelled as declarables
|
|
10
|
+
* and which are deliberately not, with the reason, so an unmodelled kind
|
|
11
|
+
* is a decision on record rather than an omission nobody noticed.
|
|
12
|
+
* 2. **Property coverage** — for each modelled kind, how much of its writable
|
|
13
|
+
* surface is typed rather than loosened to `Record<string, unknown>`. A
|
|
14
|
+
* drop here means upstream reshaped something and the parser quietly
|
|
15
|
+
* stopped following it.
|
|
16
|
+
*
|
|
17
|
+
* Both are measured against the spec the generator actually reads, so running
|
|
18
|
+
* this after `just generate` compares like with like.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Kinds the API exposes that this lexicon does not model, and why.
|
|
22
|
+
*
|
|
23
|
+
* "First pass" is a real reason, not a placeholder: each of these is a row in
|
|
24
|
+
* `kinds.ts` away, and listing them keeps the gap visible instead of leaving a
|
|
25
|
+
* reader to infer it from the absence.
|
|
26
|
+
*/
|
|
27
|
+
export declare const UNMODELLED_KINDS: Record<string, string>;
|
|
28
|
+
export interface KindCoverage {
|
|
29
|
+
kind: string;
|
|
30
|
+
/** Writable top-level properties on the resource. */
|
|
31
|
+
properties: number;
|
|
32
|
+
/** Property types generated beneath it. */
|
|
33
|
+
propertyTypes: number;
|
|
34
|
+
/** Properties resolving to a loose map rather than a typed shape. */
|
|
35
|
+
loose: number;
|
|
36
|
+
}
|
|
37
|
+
export interface CplnCoverage {
|
|
38
|
+
modelled: number;
|
|
39
|
+
unmodelled: number;
|
|
40
|
+
propertyTypes: number;
|
|
41
|
+
kinds: KindCoverage[];
|
|
42
|
+
/** Share of writable properties across all kinds that are typed. */
|
|
43
|
+
typedRatio: number;
|
|
44
|
+
}
|
|
45
|
+
/** Compute coverage from the spec the generator reads. */
|
|
46
|
+
export declare function computeCplnCoverage(options?: {
|
|
47
|
+
force?: boolean;
|
|
48
|
+
}): Promise<CplnCoverage>;
|
|
49
|
+
/**
|
|
50
|
+
* Print the coverage report. Exits non-zero when `minOverall` is set and the
|
|
51
|
+
* typed ratio falls below it, so CI can gate on the surface not silently
|
|
52
|
+
* loosening.
|
|
53
|
+
*/
|
|
54
|
+
export declare function analyzeCplnCoverage(options?: {
|
|
55
|
+
verbose?: boolean;
|
|
56
|
+
force?: boolean;
|
|
57
|
+
minOverall?: number;
|
|
58
|
+
}): Promise<CplnCoverage>;
|
|
59
|
+
//# sourceMappingURL=coverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../src/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAcnD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,0DAA0D;AAC1D,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAoC9F;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgCxB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live introspection of cpln resources — the read-back seam for chant's
|
|
3
|
+
* plan/drift machinery.
|
|
4
|
+
*
|
|
5
|
+
* Drives core's observer harness (`observeEntities`) rather than re-deriving
|
|
6
|
+
* its control flow: bind-or-not-observe-all with a typed reason, per-entity
|
|
7
|
+
* tri-state routing, and a read throw degrading to `read-failed` rather than a
|
|
8
|
+
* silent absence — which would classify as a spurious `create` and, on the
|
|
9
|
+
* delete path, as an orphan.
|
|
10
|
+
*
|
|
11
|
+
* The read is a lookup, not a fetch. Control Plane has a by-name endpoint for
|
|
12
|
+
* every kind, but it also has an **org-wide rollup** for the GVC-scoped ones
|
|
13
|
+
* (`/org/{org}/workload` alongside `/org/{org}/gvc/{gvc}/workload`), so listing
|
|
14
|
+
* each declared kind once and indexing it costs one request per kind instead of
|
|
15
|
+
* one per resource — or, for GVC-scoped kinds, one per GVC. The list promise is
|
|
16
|
+
* cached per kind, so concurrent reads share a request and a failed list marks
|
|
17
|
+
* only that kind's entities read-failed.
|
|
18
|
+
*
|
|
19
|
+
* Ownership is unusually clean here. Every kind carries a free-form `tags` map
|
|
20
|
+
* and every read path returns it, so the marker resolves on the thin read —
|
|
21
|
+
* which is not true of aws, where `describe-stack-resources` returns no tags
|
|
22
|
+
* and an `owned: true` thin read can only answer `unknown`. `describeResources`
|
|
23
|
+
* is therefore declared on the ownership channel.
|
|
24
|
+
*
|
|
25
|
+
* No secret value is ever read: the `-reveal` endpoint is not called from this
|
|
26
|
+
* path, and a `secret`'s `data` is not part of what is compared.
|
|
27
|
+
*/
|
|
28
|
+
import type { ObservationResult } from "@intentius/chant/observation";
|
|
29
|
+
import { type CplnConfig, type CplnHttp, type CplnResource } from "./api.js";
|
|
30
|
+
import { type CplnKind } from "./kinds.js";
|
|
31
|
+
export interface DescribeResourcesOptions {
|
|
32
|
+
environment: string;
|
|
33
|
+
buildOutput: string;
|
|
34
|
+
entityNames: string[];
|
|
35
|
+
entities: Map<string, {
|
|
36
|
+
entityType: string;
|
|
37
|
+
props: Record<string, unknown>;
|
|
38
|
+
}>;
|
|
39
|
+
/** Restrict the result to chant-owned resources. */
|
|
40
|
+
owned?: boolean;
|
|
41
|
+
/** Config overrides (tests, or an explicit org). */
|
|
42
|
+
config?: Partial<CplnConfig>;
|
|
43
|
+
/** Transport override (tests). Defaults to `fetch`. */
|
|
44
|
+
http?: CplnHttp;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Observe every declared cpln resource against the live org.
|
|
48
|
+
*/
|
|
49
|
+
export declare function describeResources(options: DescribeResourcesOptions): Promise<ObservationResult>;
|
|
50
|
+
/**
|
|
51
|
+
* The GVC a live resource belongs to.
|
|
52
|
+
*
|
|
53
|
+
* The org-wide rollups do not repeat the GVC as a field; it is in the `links`
|
|
54
|
+
* array as a `gvc` relation (`/org/acme/gvc/prod`). `volumeset` and `identity`
|
|
55
|
+
* additionally carry a `gvc` of their own, in two different shapes, so those
|
|
56
|
+
* are read as a fallback.
|
|
57
|
+
*/
|
|
58
|
+
export declare function gvcOf(resource: CplnResource): string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Resolve this resource's outbound links down to the bare names they point at.
|
|
61
|
+
*
|
|
62
|
+
* Edge reconstruction matches identifiers exactly, and a Control Plane link
|
|
63
|
+
* (`//gvc/prod/identity/api`) never equals the `name` it references. Resolving
|
|
64
|
+
* here — where the whole live resource is in hand — means `reference-catalog.ts`
|
|
65
|
+
* is a plain table of paths rather than a table of paths plus extractors, and
|
|
66
|
+
* means no second enrichment pass over the observed set.
|
|
67
|
+
*
|
|
68
|
+
* Keys are stable regardless of kind; an absent relation is simply missing.
|
|
69
|
+
*/
|
|
70
|
+
export declare function referenceAttributes(kind: CplnKind, live: CplnResource): Record<string, unknown>;
|
|
71
|
+
//# sourceMappingURL=describe-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe-resources.d.ts","sourceRoot":"","sources":["../src/describe-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAStE,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC9E,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,uDAAuD;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CASrG;AAiED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAehE;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoC/F"}
|
package/dist/detect.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect whether a template is a Control Plane manifest.
|
|
3
|
+
*
|
|
4
|
+
* cpln manifests are structurally light — `kind`, `name`, and usually `spec` —
|
|
5
|
+
* which is not a lot to go on, and `kind`/`name`/`spec` alone would also match a
|
|
6
|
+
* Kubernetes manifest. The discriminator is that a cpln manifest's `kind` is one
|
|
7
|
+
* of a small closed set of lowercase strings and it has **no `apiVersion`**,
|
|
8
|
+
* which every Kubernetes object has and no cpln manifest does.
|
|
9
|
+
*/
|
|
10
|
+
/** True when `data` is a cpln manifest document, or a list of them. */
|
|
11
|
+
export declare function detectCplnTemplate(data: unknown): boolean;
|
|
12
|
+
/** True when the document is a kind this lexicon can generate types for. */
|
|
13
|
+
export declare function isModelledKind(kind: string): boolean;
|
|
14
|
+
//# sourceMappingURL=detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAiBzD;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read an entity's authored props regardless of representation, and walk the
|
|
3
|
+
* shapes cpln's checks keep needing.
|
|
4
|
+
*
|
|
5
|
+
* Real runtime instances (`createResource`/`createProperty`) keep authored
|
|
6
|
+
* props under a non-enumerable `.props` — enumerating the instance yields its
|
|
7
|
+
* `AttrRef`s, not its inputs. Plain objects (test fixtures, parsed manifests)
|
|
8
|
+
* carry props as own fields. Every cpln consumer goes through here so both
|
|
9
|
+
* shapes behave identically.
|
|
10
|
+
*
|
|
11
|
+
* A cpln spec is also nested property declarables all the way down: a
|
|
12
|
+
* `Workload`'s `spec.containers[0].readinessProbe` may be a plain object, a
|
|
13
|
+
* `WorkloadSpecContainersReadinessProbe` instance, or a mix, depending on how
|
|
14
|
+
* the author wrote it. {@link readProp} unwraps at every level so a check can
|
|
15
|
+
* be written against one shape.
|
|
16
|
+
*/
|
|
17
|
+
import type { Declarable } from "@intentius/chant/declarable";
|
|
18
|
+
/** Read an entity's or property declarable's authored props. */
|
|
19
|
+
export declare function propsOf(entity: unknown): Record<string, unknown>;
|
|
20
|
+
/** Read a named property, unwrapping a nested property declarable. */
|
|
21
|
+
export declare function readProp(source: unknown, key: string): unknown;
|
|
22
|
+
/** Read a nested path, unwrapping declarables at each step. `readPath(w, "spec", "job")`. */
|
|
23
|
+
export declare function readPath(source: unknown, ...keys: string[]): unknown;
|
|
24
|
+
/** Read a property expected to be an array, unwrapping each element. */
|
|
25
|
+
export declare function readArray(source: unknown, ...keys: string[]): unknown[];
|
|
26
|
+
/** Read a property expected to be a string. */
|
|
27
|
+
export declare function readString(source: unknown, ...keys: string[]): string | undefined;
|
|
28
|
+
/** Read a property expected to be a number. */
|
|
29
|
+
export declare function readNumber(source: unknown, ...keys: string[]): number | undefined;
|
|
30
|
+
/** Read a property expected to be a boolean. */
|
|
31
|
+
export declare function readBoolean(source: unknown, ...keys: string[]): boolean | undefined;
|
|
32
|
+
/** Iterate the entities of one cpln kind, yielding `[name, entity]`. */
|
|
33
|
+
export declare function entitiesOfType(entities: Map<string, Declarable>, typeName: string): Generator<[string, Declarable]>;
|
|
34
|
+
//# sourceMappingURL=entity-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-props.d.ts","sourceRoot":"","sources":["../src/entity-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAK9D,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYhE;AAED,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAOpE;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAIvE;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAGjF;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAGjF;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAGnF;AAYD,wEAAwE;AACxE,wBAAiB,cAAc,CAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACjC,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAIjC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export declare const Domain: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
2
|
+
export declare const Gvc: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
3
|
+
export declare const Identity: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
4
|
+
export declare const IpSet: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
5
|
+
export declare const Policy: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
6
|
+
export declare const Secret: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
7
|
+
export declare const VolumeSet: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
8
|
+
export declare const Workload: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
|
|
9
|
+
export declare const DomainSpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
10
|
+
export declare const DomainSpecPorts: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
11
|
+
export declare const DomainSpecPortsCors: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
12
|
+
export declare const DomainSpecPortsCorsAllowOrigins: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
13
|
+
export declare const DomainSpecPortsRoutes: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
14
|
+
export declare const DomainSpecPortsRoutesCanaries: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
15
|
+
export declare const DomainSpecPortsRoutesHeaders: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
16
|
+
export declare const DomainSpecPortsRoutesHeadersRequest: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
17
|
+
export declare const DomainSpecPortsRoutesMirror: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
18
|
+
export declare const DomainSpecPortsTls: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
19
|
+
export declare const DomainSpecPortsTlsClientCertificate: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
20
|
+
export declare const DomainSpecPortsTlsServerCertificate: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
21
|
+
export declare const GvcSpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
22
|
+
export declare const GvcSpecEnv: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
23
|
+
export declare const GvcSpecKeda: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
24
|
+
export declare const GvcSpecLoadBalancer: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
25
|
+
export declare const GvcSpecLoadBalancerMultiZone: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
26
|
+
export declare const GvcSpecLoadBalancerRedirect: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
27
|
+
export declare const GvcSpecLoadBalancerRedirectClass: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
28
|
+
export declare const GvcSpecSidecar: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
29
|
+
export declare const GvcSpecStaticPlacement: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
30
|
+
export declare const GvcSpecStaticPlacementLocationOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
31
|
+
export declare const GvcSpecStaticPlacementLocationQuery: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
32
|
+
export declare const GvcSpecStaticPlacementLocationQuerySpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
33
|
+
export declare const GvcSpecStaticPlacementLocationQuerySpecSort: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
34
|
+
export declare const GvcSpecStaticPlacementLocationQuerySpecTerms: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
35
|
+
export declare const GvcSpecTracing: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
36
|
+
export declare const GvcSpecTracingLightstep: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
37
|
+
export declare const GvcSpecTracingProvider: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
38
|
+
export declare const GvcSpecTracingProviderLightstep: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
39
|
+
export declare const GvcSpecTracingProviderOtel: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
40
|
+
export declare const IdentityAws: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
41
|
+
export declare const IdentityAwsTrustPolicy: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
42
|
+
export declare const IdentityAzure: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
43
|
+
export declare const IdentityAzureRoleAssignments: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
44
|
+
export declare const IdentityGcp: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
45
|
+
export declare const IdentityGcpBindings: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
46
|
+
export declare const IdentityMemcacheAccess: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
47
|
+
export declare const IdentityNativeNetworkResources: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
48
|
+
export declare const IdentityNativeNetworkResourcesAwsPrivateLink: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
49
|
+
export declare const IdentityNativeNetworkResourcesGcpServiceConnect: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
50
|
+
export declare const IdentityNgs: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
51
|
+
export declare const IdentityNgsPub: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
52
|
+
export declare const IdentityNgsResp: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
53
|
+
export declare const IdentityNgsSub: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
54
|
+
export declare const IdentitySpicedbAccess: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
55
|
+
export declare const IpSetLocation: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
56
|
+
export declare const IpSetSpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
57
|
+
export declare const NetworkResource: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
58
|
+
export declare const PolicyBinding: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
59
|
+
export declare const Query: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
60
|
+
export declare const QuerySpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
61
|
+
export declare const QuerySpecSort: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
62
|
+
export declare const QuerySpecTerms: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
63
|
+
export declare const SecretAwskey: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
64
|
+
export declare const SecretKeypair: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
65
|
+
export declare const SecretOpaque: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
66
|
+
export declare const SecretTls: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
67
|
+
export declare const SecretUserpass: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
68
|
+
export declare const VolumeSetSpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
69
|
+
export declare const VolumeSetSpecAutoscaling: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
70
|
+
export declare const VolumeSetSpecAutoscalingPredictive: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
71
|
+
export declare const VolumeSetSpecCustomEncryption: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
72
|
+
export declare const VolumeSetSpecMountOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
73
|
+
export declare const VolumeSetSpecMountOptionsResources: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
74
|
+
export declare const VolumeSetSpecSnapshots: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
75
|
+
export declare const WorkloadSpec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
76
|
+
export declare const WorkloadSpecContainers: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
77
|
+
export declare const WorkloadSpecContainersEnv: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
78
|
+
export declare const WorkloadSpecContainersGpu: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
79
|
+
export declare const WorkloadSpecContainersGpuCustom: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
80
|
+
export declare const WorkloadSpecContainersGpuNvidia: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
81
|
+
export declare const WorkloadSpecContainersLifecycle: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
82
|
+
export declare const WorkloadSpecContainersLifecyclePostStart: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
83
|
+
export declare const WorkloadSpecContainersLifecyclePostStartExec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
84
|
+
export declare const WorkloadSpecContainersLifecyclePreStop: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
85
|
+
export declare const WorkloadSpecContainersLifecyclePreStopExec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
86
|
+
export declare const WorkloadSpecContainersLivenessProbe: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
87
|
+
export declare const WorkloadSpecContainersLivenessProbeExec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
88
|
+
export declare const WorkloadSpecContainersLivenessProbeGrpc: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
89
|
+
export declare const WorkloadSpecContainersLivenessProbeHttpGet: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
90
|
+
export declare const WorkloadSpecContainersLivenessProbeHttpGetHttpHeaders: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
91
|
+
export declare const WorkloadSpecContainersLivenessProbeTcpSocket: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
92
|
+
export declare const WorkloadSpecContainersMetrics: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
93
|
+
export declare const WorkloadSpecContainersPorts: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
94
|
+
export declare const WorkloadSpecContainersReadinessProbe: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
95
|
+
export declare const WorkloadSpecContainersReadinessProbeExec: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
96
|
+
export declare const WorkloadSpecContainersReadinessProbeGrpc: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
97
|
+
export declare const WorkloadSpecContainersReadinessProbeHttpGet: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
98
|
+
export declare const WorkloadSpecContainersReadinessProbeHttpGetHttpHeaders: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
99
|
+
export declare const WorkloadSpecContainersReadinessProbeTcpSocket: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
100
|
+
export declare const WorkloadSpecContainersVolumes: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
101
|
+
export declare const WorkloadSpecDefaultOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
102
|
+
export declare const WorkloadSpecDefaultOptionsAutoscaling: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
103
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKeda: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
104
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKedaAdvanced: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
105
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKedaAdvancedScalingModifiers: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
106
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKedaFallback: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
107
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKedaTriggers: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
108
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingKedaTriggersAuthenticationRef: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
109
|
+
export declare const WorkloadSpecDefaultOptionsAutoscalingMulti: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
110
|
+
export declare const WorkloadSpecDefaultOptionsMultiZone: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
111
|
+
export declare const WorkloadSpecExtras: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
112
|
+
export declare const WorkloadSpecFirewallConfig: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
113
|
+
export declare const WorkloadSpecFirewallConfigExternal: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
114
|
+
export declare const WorkloadSpecFirewallConfigExternalHttp: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
115
|
+
export declare const WorkloadSpecFirewallConfigExternalHttpInboundHeaderFilter: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
116
|
+
export declare const WorkloadSpecFirewallConfigExternalOutboundAllowPort: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
117
|
+
export declare const WorkloadSpecFirewallConfigInternal: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
118
|
+
export declare const WorkloadSpecJob: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
119
|
+
export declare const WorkloadSpecLoadBalancer: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
120
|
+
export declare const WorkloadSpecLoadBalancerDirect: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
121
|
+
export declare const WorkloadSpecLoadBalancerDirectPorts: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
122
|
+
export declare const WorkloadSpecLoadBalancerGeoLocation: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
123
|
+
export declare const WorkloadSpecLoadBalancerGeoLocationHeaders: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
124
|
+
export declare const WorkloadSpecLocalOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
125
|
+
export declare const WorkloadSpecLocalOptionsAutoscaling: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
126
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKeda: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
127
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKedaAdvanced: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
128
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKedaAdvancedScalingModifiers: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
129
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKedaFallback: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
130
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKedaTriggers: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
131
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingKedaTriggersAuthenticationRef: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
132
|
+
export declare const WorkloadSpecLocalOptionsAutoscalingMulti: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
133
|
+
export declare const WorkloadSpecLocalOptionsMultiZone: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
134
|
+
export declare const WorkloadSpecRequestRetryPolicy: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
135
|
+
export declare const WorkloadSpecRolloutOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
136
|
+
export declare const WorkloadSpecSecurityOptions: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
137
|
+
export declare const WorkloadSpecSidecar: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
138
|
+
export declare const WorkloadSpecVm: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
139
|
+
export declare const WorkloadSpecVmAccessCredentials: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
140
|
+
export declare const WorkloadSpecVmBootDisk: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
141
|
+
export declare const WorkloadSpecVmBootDiskPersist: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
142
|
+
export declare const WorkloadSpecVmBootDiskSource: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
143
|
+
export declare const WorkloadSpecVmBootDiskSourceHttp: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
144
|
+
export declare const WorkloadSpecVmBootDiskSourceOci: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
145
|
+
export declare const WorkloadSpecVmClock: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
146
|
+
export declare const WorkloadSpecVmCloudInit: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
147
|
+
export declare const WorkloadSpecVmCpu: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
148
|
+
export declare const WorkloadSpecVmFirmware: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
149
|
+
export declare const WorkloadSpecVmFirmwareSmbios: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
150
|
+
export declare const WorkloadSpecVmNetworks: new (props: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, unknown>;
|
|
151
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/generated/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { cplnPlugin } from "./plugin.js";
|
|
2
|
+
export { cplnSerializer, cplnLink } from "./serializer.js";
|
|
3
|
+
export { KINDS, KIND_NAMES, kindByName, kindByTypeName, kindByClassName, isCplnResourceType, collectionPath, resourcePath, NAMESPACE, SERVICE, } from "./kinds.js";
|
|
4
|
+
export type { CplnKind } from "./kinds.js";
|
|
5
|
+
export { CPLN_TAG_OWNERSHIP_KEYS } from "./ownership.js";
|
|
6
|
+
export * from "./composites/index.js";
|
|
7
|
+
export * from "./generated/index.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EACL,KAAK,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,cAAc,cAAc,CAAC;AAI7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chant init` scaffolding for cpln projects.
|
|
3
|
+
*
|
|
4
|
+
* Three templates, chosen so the default is the shape most people actually
|
|
5
|
+
* start with and the other two are the two directions it grows in. Each is
|
|
6
|
+
* written to pass this lexicon's own checks as scaffolded — a template that
|
|
7
|
+
* emits CPL findings on first build teaches the wrong lesson about what the
|
|
8
|
+
* findings mean.
|
|
9
|
+
*/
|
|
10
|
+
import type { InitTemplateSet } from "@intentius/chant/lexicon";
|
|
11
|
+
/**
|
|
12
|
+
* Return the scaffold for a template name. Unknown names fall back to the
|
|
13
|
+
* default rather than erroring — `chant init` treats the name as a hint.
|
|
14
|
+
*/
|
|
15
|
+
export declare function cplnInitTemplates(template?: string): InitTemplateSet;
|
|
16
|
+
//# sourceMappingURL=init-templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA2GhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CASpE"}
|