typekro 0.16.1 → 0.17.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.
@@ -1 +1 @@
1
- {"version":3,"file":"composition-analyzer-helpers.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,eAAe,EAIhB,MAAM,iCAAiC,CAAC;AAgDzC;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAgBnE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAW/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAqBzE;AAuFD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,MAAM,CAuMR;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA0B9F;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAQ3D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAe5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA0KzF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,CAQR;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,EAAE,CAkB1E;AAMD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAYnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"composition-analyzer-helpers.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,eAAe,EAIhB,MAAM,iCAAiC,CAAC;AAgDzC;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAgBnE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAW/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAqBzE;AAuFD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,MAAM,CA2MR;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA8B9F;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAQ3D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAe5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA0KzF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,CAQR;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,EAAE,CAkB1E;AAMD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAYnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD"}
@@ -272,10 +272,11 @@ export function conditionToCel(node, fullSource, specParamName, optionalFieldNam
272
272
  }
273
273
  return `(${present} && ${refPath} ${operator} ${rightValue})`;
274
274
  };
275
- // Replace the spec parameter name with schema.spec
276
- // Must use word boundary to avoid replacing substrings
277
- // escapeRegExp prevents regex injection if specParamName contains metacharacters
278
- source = source.replace(new RegExp(`\\b${escapeRegExp(specParamName)}\\.`, 'g'), 'schema.spec.');
275
+ // Replace the spec parameter name with schema.spec. The negative lookbehind excludes a preceding
276
+ // `.`/word/`$`, so a RESOURCE's own member access (e.g. `dep.spec.replicas`) is NOT rewritten — only a
277
+ // standalone spec-param reference is. A bare `\b` boundary is insufficient: it still matches inside
278
+ // `dep.spec.`, mangling it to `dep.schema.spec.`. escapeRegExp prevents regex injection.
279
+ source = source.replace(new RegExp(`(?<![\\w$.])${escapeRegExp(specParamName)}\\.`, 'g'), 'schema.spec.');
279
280
  // JS → CEL operator conversions
280
281
  source = source.replace(/===/g, '==');
281
282
  source = source.replace(/!==/g, '!=');
@@ -379,9 +380,10 @@ export function conditionToCel(node, fullSource, specParamName, optionalFieldNam
379
380
  */
380
381
  export function iterableToCel(node, fullSource, specParamName) {
381
382
  let source = getSource(node, fullSource);
382
- // Replace the spec parameter name with schema.spec
383
- // escapeRegExp prevents regex injection if specParamName contains metacharacters
384
- source = source.replace(new RegExp(`\\b${escapeRegExp(specParamName)}\\.`, 'g'), 'schema.spec.');
383
+ // Replace the spec parameter name with schema.spec. Negative lookbehind so a resource's own `.spec`
384
+ // member access isn't mangled (see replaceSpecParamWithSchema above for why `\b` is insufficient).
385
+ // escapeRegExp prevents regex injection if specParamName contains metacharacters.
386
+ source = source.replace(new RegExp(`(?<![\\w$.])${escapeRegExp(specParamName)}\\.`, 'g'), 'schema.spec.');
385
387
  // Convert arrow function callbacks to CEL lambda syntax
386
388
  // Pattern: .filter((w) => w.enabled) → .filter(w, w.enabled)
387
389
  // Pattern: .filter((w) => w.priority > 5) → .filter(w, w.priority > 5)
@@ -1 +1 @@
1
- {"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,16 @@
2
2
  * Caddy Ingress Composition
3
3
  *
4
4
  * Runs the official `caddy` image as a config-driven reverse proxy: a ConfigMap holds the Caddyfile, a
5
- * Deployment runs Caddy mounting it, a Service exposes it (ClusterIP by default), and a PVC persists
6
- * `/data` so Caddy's `tls internal` CA root survives restarts. No Helm, no etcd, no cert-manager.
5
+ * Deployment runs Caddy mounting it, a Service exposes it (ClusterIP by default), and a `/data` volume
6
+ * holds Caddy's `tls internal` CA root. By default `/data` is a PVC (CA survives restarts);
7
+ * `makeCaddyIngress({ ephemeral: true })` uses an `emptyDir` (CA regenerates per pod) so the plane
8
+ * tolerates node/AZ changes. No Helm, no etcd, no cert-manager.
7
9
  *
8
10
  * The Caddyfile arrives as a string on `spec.caddyfile` (build it with `renderCaddyfile()` from concrete
9
11
  * routes) so the composition is a pure passthrough that works identically in direct and KRO modes.
10
12
  */
13
+ import type { CallableComposition } from '../../../core/types/deployment.js';
14
+ import { type CaddyIngressConfig, type CaddyIngressEphemeralConfig, type CaddyIngressStatus } from '../types.js';
11
15
  /** Current stable Caddy version (Docker Hub, 2026-03); the `app.kubernetes.io/version` label + status. */
12
16
  export declare const DEFAULT_CADDY_VERSION = "2.11.2";
13
17
  /**
@@ -20,19 +24,47 @@ export declare const DEFAULT_CADDY_NAMESPACE = "caddy-system";
20
24
  export declare const DEFAULT_CADDY_HTTP_PORT = 80;
21
25
  export declare const DEFAULT_CADDY_HTTPS_PORT = 443;
22
26
  export declare const DEFAULT_CADDY_PVC_SIZE = "1Gi";
23
- export declare const caddyIngress: import("../../../index.js").CallableComposition<{
27
+ /**
28
+ * Build-time options for {@link makeCaddyIngress}. These are resolved when the composition is
29
+ * CONSTRUCTED (real JS values), NOT KRO spec fields — so they select the resource set statically and
30
+ * never require a runtime `includeWhen` conditional (which KRO cannot express safely here).
31
+ */
32
+ export interface CaddyIngressOptions {
33
+ /**
34
+ * Use an `emptyDir` for `/data` instead of the persistent EBS-backed PVC. Caddy's `tls internal` CA
35
+ * root then lives only for the pod's lifetime — it REGENERATES on restart (clients re-trust). Trades
36
+ * CA stability for resilience: the default PVC is a single-AZ RWO volume, so a node/AZ change strands
37
+ * the pod (`Pending`, PV node-affinity mismatch). `ephemeral` removes that failure mode. Default false.
38
+ */
39
+ readonly ephemeral?: boolean;
40
+ }
41
+ /**
42
+ * Construct a Caddy-ingress composition. The default ({@link caddyIngress}) persists `/data` on a PVC;
43
+ * pass `{ ephemeral: true }` for an `emptyDir`-backed plane that tolerates node/AZ changes (see
44
+ * {@link CaddyIngressOptions.ephemeral}). Ephemeral mode validates against a schema WITHOUT `persistence`,
45
+ * so passing persistence config there is rejected loudly rather than silently ignored.
46
+ */
47
+ export declare function makeCaddyIngress(options: {
48
+ readonly ephemeral: true;
49
+ }): CallableComposition<CaddyIngressEphemeralConfig, CaddyIngressStatus>;
50
+ export declare function makeCaddyIngress(options?: {
51
+ readonly ephemeral?: false;
52
+ }): CallableComposition<CaddyIngressConfig, CaddyIngressStatus>;
53
+ export declare function makeCaddyIngress(options: CaddyIngressOptions): CallableComposition<CaddyIngressEphemeralConfig, CaddyIngressStatus>;
54
+ /** The default Caddy-ingress composition (PVC-backed `/data`). See {@link makeCaddyIngress} for options. */
55
+ export declare const caddyIngress: CallableComposition<{
24
56
  name: string;
25
57
  caddyfile: string;
58
+ persistence?: {
59
+ size?: string;
60
+ storageClass?: string;
61
+ };
26
62
  namespace?: string;
27
63
  image?: string;
28
64
  version?: string;
29
65
  httpPort?: number;
30
66
  httpsPort?: number;
31
67
  serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer";
32
- persistence?: {
33
- size?: string;
34
- storageClass?: string;
35
- };
36
68
  resources?: {
37
69
  requests?: {
38
70
  cpu?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"caddy-ingress.d.ts","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/caddy-ingress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,0GAA0G;AAC1G,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iBAAmC,CAAC;AACpE,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIxB,CAAC"}
1
+ {"version":3,"file":"caddy-ingress.d.ts","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/caddy-ingress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,2BAA2B,EAEhC,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AAErB,0GAA0G;AAC1G,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iBAAmC,CAAC;AACpE,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AA8ID;;;;;GAKG;AAQH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GACpC,mBAAmB,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AACxE,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GACvC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AAC/D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAoCxE,4GAA4G;AAC5G,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqB,CAAC"}
@@ -2,8 +2,10 @@
2
2
  * Caddy Ingress Composition
3
3
  *
4
4
  * Runs the official `caddy` image as a config-driven reverse proxy: a ConfigMap holds the Caddyfile, a
5
- * Deployment runs Caddy mounting it, a Service exposes it (ClusterIP by default), and a PVC persists
6
- * `/data` so Caddy's `tls internal` CA root survives restarts. No Helm, no etcd, no cert-manager.
5
+ * Deployment runs Caddy mounting it, a Service exposes it (ClusterIP by default), and a `/data` volume
6
+ * holds Caddy's `tls internal` CA root. By default `/data` is a PVC (CA survives restarts);
7
+ * `makeCaddyIngress({ ephemeral: true })` uses an `emptyDir` (CA regenerates per pod) so the plane
8
+ * tolerates node/AZ changes. No Helm, no etcd, no cert-manager.
7
9
  *
8
10
  * The Caddyfile arrives as a string on `spec.caddyfile` (build it with `renderCaddyfile()` from concrete
9
11
  * routes) so the composition is a pure passthrough that works identically in direct and KRO modes.
@@ -14,7 +16,7 @@ import { namespace } from '../../kubernetes/core/namespace.js';
14
16
  import { service } from '../../kubernetes/networking/service.js';
15
17
  import { persistentVolumeClaim } from '../../kubernetes/storage/persistent-volume-claim.js';
16
18
  import { deployment } from '../../kubernetes/workloads/deployment.js';
17
- import { CaddyIngressConfigSchema, CaddyIngressStatusSchema } from '../types.js';
19
+ import { CaddyIngressConfigSchema, CaddyIngressEphemeralConfigSchema, CaddyIngressStatusSchema, } from '../types.js';
18
20
  /** Current stable Caddy version (Docker Hub, 2026-03); the `app.kubernetes.io/version` label + status. */
19
21
  export const DEFAULT_CADDY_VERSION = '2.11.2';
20
22
  /**
@@ -27,12 +29,13 @@ export const DEFAULT_CADDY_NAMESPACE = 'caddy-system';
27
29
  export const DEFAULT_CADDY_HTTP_PORT = 80;
28
30
  export const DEFAULT_CADDY_HTTPS_PORT = 443;
29
31
  export const DEFAULT_CADDY_PVC_SIZE = '1Gi';
30
- export const caddyIngress = kubernetesComposition({
31
- name: 'caddy-ingress',
32
- kind: 'CaddyIngress',
33
- spec: CaddyIngressConfigSchema,
34
- status: CaddyIngressStatusSchema,
35
- }, (spec) => {
32
+ /**
33
+ * Build the Caddy resources (namespace, ConfigMap, the `/data` volume, Deployment, Service) and return
34
+ * the Deployment proxy + version for the status block. `ephemeral` is the build-time storage choice
35
+ * (emptyDir vs PVC). The STATUS object literal must stay inline in each composition (typekro's analyzer
36
+ * extracts the readiness CEL from the composition fn's `return`), so this helper stops short of it.
37
+ */
38
+ const buildCaddyResources = (spec, ephemeral) => {
36
39
  const name = spec.name;
37
40
  const ns = spec.namespace ?? DEFAULT_CADDY_NAMESPACE;
38
41
  const image = spec.image ?? DEFAULT_CADDY_IMAGE;
@@ -58,21 +61,31 @@ export const caddyIngress = kubernetesComposition({
58
61
  data: { Caddyfile: spec.caddyfile },
59
62
  id: 'caddyConfig',
60
63
  });
61
- // Always create the PVC: Caddy's `tls internal` CA root lives in /data and must survive restarts.
62
- persistentVolumeClaim({
63
- metadata: { name: pvcName, namespace: ns, labels },
64
- spec: {
65
- accessModes: ['ReadWriteOnce'],
66
- resources: { requests: { storage: pvcSize } },
67
- ...(spec.persistence?.storageClass
68
- ? { storageClassName: spec.persistence.storageClass }
69
- : {}),
70
- },
71
- id: 'caddyData',
72
- });
64
+ // `/data` holds Caddy's `tls internal` CA root. Default: a PVC so the CA survives restarts. Ephemeral
65
+ // (build-time option): an emptyDir — the CA regenerates per pod, but the plane no longer depends on a
66
+ // single-AZ RWO volume that strands the pod on a node/AZ change. The choice is made HERE (real JS
67
+ // boolean), so only one resource set is registered — no KRO runtime conditional.
68
+ let dataVolume;
69
+ if (ephemeral) {
70
+ dataVolume = { name: 'data', emptyDir: {} };
71
+ }
72
+ else {
73
+ persistentVolumeClaim({
74
+ metadata: { name: pvcName, namespace: ns, labels },
75
+ spec: {
76
+ accessModes: ['ReadWriteOnce'],
77
+ resources: { requests: { storage: pvcSize } },
78
+ ...(spec.persistence?.storageClass
79
+ ? { storageClassName: spec.persistence.storageClass }
80
+ : {}),
81
+ },
82
+ id: 'caddyData',
83
+ });
84
+ dataVolume = { name: 'data', persistentVolumeClaim: { claimName: pvcName } };
85
+ }
73
86
  const volumes = [
74
87
  { name: 'caddyfile', configMap: { name: configMapName } },
75
- { name: 'data', persistentVolumeClaim: { claimName: pvcName } },
88
+ dataVolume,
76
89
  ];
77
90
  const caddyDeployment = deployment({
78
91
  metadata: { name, namespace: ns, labels },
@@ -138,16 +151,36 @@ export const caddyIngress = kubernetesComposition({
138
151
  },
139
152
  id: 'caddyService',
140
153
  });
141
- // Multi-resource non-Helm status: direct proxy comparison (no Cel.expr / conditions array). Compare
142
- // readyReplicas to the Deployment's OWN desired replicas (`spec.replicas`, a graph ref = 1). Because
143
- // the desired count is a concrete ≥1, this is only ready once the one pod is ready — it can't go
144
- // ready before the desired pod exists (the t=0 trap of comparing to `status.replicas`, which is 0
145
- // until the controller observes the spec). spec refs resolve in BOTH kro CEL and direct-mode
146
- // hydration (via the LIVE_SPEC_KEY core change). No `phase`: the `ready ? … : …` ternary mangles a
147
- // resource ref in CEL — see the status type.
148
- return {
149
- ready: caddyDeployment.status.readyReplicas >= caddyDeployment.spec.replicas,
150
- version,
151
- };
152
- });
154
+ return { caddyDeployment, version };
155
+ };
156
+ export function makeCaddyIngress(options = {}) {
157
+ if (options.ephemeral) {
158
+ return kubernetesComposition({
159
+ name: 'caddy-ingress',
160
+ kind: 'CaddyIngress',
161
+ spec: CaddyIngressEphemeralConfigSchema,
162
+ status: CaddyIngressStatusSchema,
163
+ }, (spec) => {
164
+ const { caddyDeployment, version } = buildCaddyResources(spec, true);
165
+ return {
166
+ ready: caddyDeployment.status.readyReplicas >= caddyDeployment.spec.replicas,
167
+ version,
168
+ };
169
+ });
170
+ }
171
+ return kubernetesComposition({
172
+ name: 'caddy-ingress',
173
+ kind: 'CaddyIngress',
174
+ spec: CaddyIngressConfigSchema,
175
+ status: CaddyIngressStatusSchema,
176
+ }, (spec) => {
177
+ const { caddyDeployment, version } = buildCaddyResources(spec, false);
178
+ return {
179
+ ready: caddyDeployment.status.readyReplicas >= caddyDeployment.spec.replicas,
180
+ version,
181
+ };
182
+ });
183
+ }
184
+ /** The default Caddy-ingress composition (PVC-backed `/data`). See {@link makeCaddyIngress} for options. */
185
+ export const caddyIngress = makeCaddyIngress();
153
186
  //# sourceMappingURL=caddy-ingress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"caddy-ingress.js","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/caddy-ingress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"caddy-ingress.js","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/caddy-ingress.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { caddyIngress, DEFAULT_CADDY_HTTP_PORT, DEFAULT_CADDY_HTTPS_PORT, DEFAULT_CADDY_IMAGE, DEFAULT_CADDY_NAMESPACE, DEFAULT_CADDY_PVC_SIZE, DEFAULT_CADDY_VERSION, } from './caddy-ingress.js';
1
+ export { caddyIngress, makeCaddyIngress, type CaddyIngressOptions, DEFAULT_CADDY_HTTP_PORT, DEFAULT_CADDY_HTTPS_PORT, DEFAULT_CADDY_IMAGE, DEFAULT_CADDY_NAMESPACE, DEFAULT_CADDY_PVC_SIZE, DEFAULT_CADDY_VERSION, } from './caddy-ingress.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { caddyIngress, DEFAULT_CADDY_HTTP_PORT, DEFAULT_CADDY_HTTPS_PORT, DEFAULT_CADDY_IMAGE, DEFAULT_CADDY_NAMESPACE, DEFAULT_CADDY_PVC_SIZE, DEFAULT_CADDY_VERSION, } from './caddy-ingress.js';
1
+ export { caddyIngress, makeCaddyIngress, DEFAULT_CADDY_HTTP_PORT, DEFAULT_CADDY_HTTPS_PORT, DEFAULT_CADDY_IMAGE, DEFAULT_CADDY_NAMESPACE, DEFAULT_CADDY_PVC_SIZE, DEFAULT_CADDY_VERSION, } from './caddy-ingress.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/caddy/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAEhB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -2,12 +2,15 @@
2
2
  * Caddy Integration for TypeKro.
3
3
  *
4
4
  * A CONFIG-DRIVEN Caddy reverse proxy (official `caddy` image + a supplied Caddyfile) — not the Caddy
5
- * ingress-controller and not a Helm bootstrap. Emits ConfigMap (Caddyfile) + Deployment + Service + PVC.
6
- * Caddy's `tls internal` issues certs from a built-in local CA (no cert-manager); the PVC persists `/data`
7
- * so the CA root is stable.
5
+ * ingress-controller and not a Helm bootstrap. Emits ConfigMap (Caddyfile) + Deployment + Service + a
6
+ * `/data` volume. Caddy's `tls internal` issues certs from a built-in local CA (no cert-manager). By
7
+ * default `/data` is a PVC so the CA root is stable across restarts; `makeCaddyIngress({ ephemeral: true })`
8
+ * uses an `emptyDir` instead (CA regenerates per pod) so the plane tolerates node/AZ changes.
8
9
  *
9
10
  * ## Compositions
10
- * - `caddyIngress` — runs Caddy with a supplied Caddyfile (kro + direct modes).
11
+ * - `caddyIngress` — runs Caddy with a supplied Caddyfile (kro + direct modes); PVC-backed `/data`.
12
+ * - `makeCaddyIngress(options)` — the constructor behind `caddyIngress`; pass `{ ephemeral: true }` for an
13
+ * `emptyDir`-backed `/data` (no PVC; takes no `persistence` config).
11
14
  *
12
15
  * ## Helpers
13
16
  * - `renderCaddyfile(routes, opts)` — build the Caddyfile string from concrete host→upstream routes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/caddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/caddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -2,12 +2,15 @@
2
2
  * Caddy Integration for TypeKro.
3
3
  *
4
4
  * A CONFIG-DRIVEN Caddy reverse proxy (official `caddy` image + a supplied Caddyfile) — not the Caddy
5
- * ingress-controller and not a Helm bootstrap. Emits ConfigMap (Caddyfile) + Deployment + Service + PVC.
6
- * Caddy's `tls internal` issues certs from a built-in local CA (no cert-manager); the PVC persists `/data`
7
- * so the CA root is stable.
5
+ * ingress-controller and not a Helm bootstrap. Emits ConfigMap (Caddyfile) + Deployment + Service + a
6
+ * `/data` volume. Caddy's `tls internal` issues certs from a built-in local CA (no cert-manager). By
7
+ * default `/data` is a PVC so the CA root is stable across restarts; `makeCaddyIngress({ ephemeral: true })`
8
+ * uses an `emptyDir` instead (CA regenerates per pod) so the plane tolerates node/AZ changes.
8
9
  *
9
10
  * ## Compositions
10
- * - `caddyIngress` — runs Caddy with a supplied Caddyfile (kro + direct modes).
11
+ * - `caddyIngress` — runs Caddy with a supplied Caddyfile (kro + direct modes); PVC-backed `/data`.
12
+ * - `makeCaddyIngress(options)` — the constructor behind `caddyIngress`; pass `{ ephemeral: true }` for an
13
+ * `emptyDir`-backed `/data` (no PVC; takes no `persistence` config).
11
14
  *
12
15
  * ## Helpers
13
16
  * - `renderCaddyfile(routes, opts)` — build the Caddyfile string from concrete host→upstream routes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/caddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/caddy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -3,35 +3,30 @@
3
3
  *
4
4
  * Caddy here is a CONFIG-DRIVEN reverse proxy (not the Caddy ingress-controller, and not a Helm
5
5
  * bootstrap): the composition runs the official `caddy` image with a Caddyfile we supply, and emits a
6
- * ConfigMap (Caddyfile) + Deployment + Service + PVC. Caddy's built-in `tls internal` issues certs from a
7
- * local CA (no cert-manager), so the PVC persists `/data` (the CA root) across restarts.
6
+ * ConfigMap (Caddyfile) + Deployment + Service + a `/data` volume. Caddy's built-in `tls internal` issues
7
+ * certs from a local CA (no cert-manager). By default `/data` is a PVC so the CA root persists across
8
+ * restarts; `makeCaddyIngress({ ephemeral: true })` uses an `emptyDir` instead (CA regenerates per pod),
9
+ * and that variant takes no `persistence` config (see `CaddyIngressEphemeralConfigSchema`).
8
10
  *
9
11
  * KRO-safety note: the Caddyfile is supplied as a STRING (`caddyfile`), not derived from a structured
10
12
  * `routes` array inside the composition. A `routes` array would be a graph proxy in KRO mode and cannot be
11
13
  * `.map()`-ed into a string (see integration-skill rules 32/48). Use the exported `renderCaddyfile()`
12
14
  * helper to build the string from routes in concrete (consumer/direct) contexts, then pass it here.
13
15
  */
14
- /**
15
- * Caddy ingress config. `caddyfile` is the raw Caddyfile content (the routing + TLS config), supplied as
16
- * a string so it passes through unchanged in both direct and KRO modes.
17
- *
18
- * Undeclared keys are REJECTED (`'+': 'reject'`) so misconfig fails loudly rather than being silently
19
- * dropped — notably `replicaCount`: this composition is single-replica by design (the `tls internal` CA
20
- * lives in a RWO PVC one pod owns), so a replica knob would invite a broken multi-pod-shares-RWO setup.
21
- */
16
+ /** The default (PVC-backed) Caddy-ingress config. `persistence` sizes the `/data` PVC. */
22
17
  export declare const CaddyIngressConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
23
18
  name: string;
24
19
  caddyfile: string;
20
+ persistence?: {
21
+ size?: string;
22
+ storageClass?: string;
23
+ };
25
24
  namespace?: string;
26
25
  image?: string;
27
26
  version?: string;
28
27
  httpPort?: number;
29
28
  httpsPort?: number;
30
29
  serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer";
31
- persistence?: {
32
- size?: string;
33
- storageClass?: string;
34
- };
35
30
  resources?: {
36
31
  requests?: {
37
32
  cpu?: string;
@@ -44,6 +39,32 @@ export declare const CaddyIngressConfigSchema: import("arktype/internal/variants
44
39
  };
45
40
  }, {}>;
46
41
  export type CaddyIngressConfig = typeof CaddyIngressConfigSchema.infer;
42
+ /**
43
+ * The ephemeral (emptyDir) Caddy-ingress config — used by `makeCaddyIngress({ ephemeral: true })`. It has
44
+ * NO `persistence` field: there is no PVC to size, so a `persistence` value would be silently ignored.
45
+ * The inherited `'+': 'reject'` makes passing `persistence` (or any unknown key) fail loudly instead.
46
+ */
47
+ export declare const CaddyIngressEphemeralConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
48
+ name: string;
49
+ caddyfile: string;
50
+ namespace?: string;
51
+ image?: string;
52
+ version?: string;
53
+ httpPort?: number;
54
+ httpsPort?: number;
55
+ serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer";
56
+ resources?: {
57
+ requests?: {
58
+ cpu?: string;
59
+ memory?: string;
60
+ };
61
+ limits?: {
62
+ cpu?: string;
63
+ memory?: string;
64
+ };
65
+ };
66
+ }, {}>;
67
+ export type CaddyIngressEphemeralConfig = typeof CaddyIngressEphemeralConfigSchema.infer;
47
68
  /**
48
69
  * Caddy ingress status. `ready` is a direct Deployment-proxy comparison (multi-resource non-Helm
49
70
  * composition → no `Cel.expr`/conditions array): `status.readyReplicas >= spec.replicas`. The Deployment
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/caddy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;MAsBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,KAAK,CAAC;AAEvE;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;MAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,KAAK,CAAC;AAEvE,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/caddy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoDH,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;MAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,KAAK,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;MAAqC,CAAC;AACpF,MAAM,MAAM,2BAA2B,GAAG,OAAO,iCAAiC,CAAC,KAAK,CAAC;AAEzF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;MAGnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,wBAAwB,CAAC,KAAK,CAAC;AAEvE,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CAC1B"}