@r8s/recipes 0.1.0 → 0.2.1

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.
Files changed (52) hide show
  1. package/dist/app.d.ts +11 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +16 -13
  4. package/dist/app.js.map +1 -1
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +48 -84
  7. package/dist/auth.js.map +1 -1
  8. package/dist/database.d.ts +97 -5
  9. package/dist/database.d.ts.map +1 -1
  10. package/dist/database.js +196 -86
  11. package/dist/database.js.map +1 -1
  12. package/dist/dns-provider.js +1 -1
  13. package/dist/dns-provider.js.map +1 -1
  14. package/dist/endpoint-provider.d.ts.map +1 -1
  15. package/dist/endpoint-provider.js +22 -2
  16. package/dist/endpoint-provider.js.map +1 -1
  17. package/dist/endpoint.d.ts +18 -1
  18. package/dist/endpoint.d.ts.map +1 -1
  19. package/dist/endpoint.js +92 -37
  20. package/dist/endpoint.js.map +1 -1
  21. package/dist/errors.d.ts +16 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +19 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/index.d.ts +5 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +13 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/operators.d.ts +16 -2
  30. package/dist/operators.d.ts.map +1 -1
  31. package/dist/operators.js +26 -0
  32. package/dist/operators.js.map +1 -1
  33. package/dist/platform.d.ts +9 -0
  34. package/dist/platform.d.ts.map +1 -1
  35. package/dist/platform.js.map +1 -1
  36. package/dist/r8s-cluster.d.ts +105 -0
  37. package/dist/r8s-cluster.d.ts.map +1 -0
  38. package/dist/r8s-cluster.js +187 -0
  39. package/dist/r8s-cluster.js.map +1 -0
  40. package/dist/secret-provider.d.ts +15 -2
  41. package/dist/secret-provider.d.ts.map +1 -1
  42. package/dist/secret-provider.js +77 -1
  43. package/dist/secret-provider.js.map +1 -1
  44. package/dist/static-secret.d.ts +107 -0
  45. package/dist/static-secret.d.ts.map +1 -0
  46. package/dist/static-secret.js +87 -0
  47. package/dist/static-secret.js.map +1 -0
  48. package/dist/web-service.d.ts +97 -0
  49. package/dist/web-service.d.ts.map +1 -1
  50. package/dist/web-service.js +117 -17
  51. package/dist/web-service.js.map +1 -1
  52. package/package.json +4 -4
@@ -14,6 +14,34 @@ export interface VaultSecretRef {
14
14
  key?: string;
15
15
  /** VaultAuth reference name (defaults to 'default') */
16
16
  vaultAuthRef?: string;
17
+ /** Re-sync interval (e.g. '3600s'). Defaults to the Platform secrets refreshAfter. */
18
+ refreshAfter?: string;
19
+ /** Workloads restarted on rotation (rendered as rolloutRestartTargets) */
20
+ rolloutRestartTargets?: {
21
+ kind?: string;
22
+ name: string;
23
+ apiVersion?: string;
24
+ }[];
25
+ /**
26
+ * Destination key → template text, rendered under
27
+ * `destination.transformation.templates`. Use to remap vault key names
28
+ * (e.g. snake_case `encryption_key` → `N8N_ENCRYPTION_KEY`).
29
+ */
30
+ templates?: Record<string, string>;
31
+ }
32
+ export interface ProbeSpec {
33
+ /** HTTP path for httpGet probes */
34
+ path?: string;
35
+ /** TCP probe when path is omitted */
36
+ tcp?: boolean;
37
+ /** Port for the probe (defaults to the container port) */
38
+ port?: number;
39
+ /** Seconds after container start before probing (default: 10) */
40
+ initialDelaySeconds?: number;
41
+ /** Seconds between probes (default: 10) */
42
+ periodSeconds?: number;
43
+ /** Consecutive failures before giving up (default: 3) */
44
+ failureThreshold?: number;
17
45
  }
18
46
  export interface WebServiceProps {
19
47
  /** Resource name */
@@ -26,12 +54,28 @@ export interface WebServiceProps {
26
54
  port?: number;
27
55
  /** Number of pod replicas (defaults to 2) */
28
56
  replicas?: number;
57
+ /**
58
+ * Probe overrides. Default probes are httpGet /health (liveness) and
59
+ * /ready (readiness) on the container port. Override when the app
60
+ * exposes different endpoints (e.g. { liveness: { path: '/healthz' },
61
+ * readiness: { tcp: true } }). Set both to null to disable.
62
+ */
63
+ probes?: {
64
+ liveness?: ProbeSpec | null;
65
+ readiness?: ProbeSpec | null;
66
+ /** Startup probe — for slow-booting apps (e.g. migrations, document servers) */
67
+ startup?: ProbeSpec | null;
68
+ };
29
69
  /** Plain environment variables (non-sensitive) */
30
70
  env?: Record<string, string>;
31
71
  /** Secrets from Kubernetes Secrets — safe by default */
32
72
  secrets?: Record<string, SecretRef | string>;
33
73
  /** Secrets from Vault — creates VaultStaticSecret objects */
34
74
  vault?: Record<string, VaultSecretRef>;
75
+ /** Container command override (e.g. a worker entrypoint). Defaults to the image's entrypoint */
76
+ command?: string[];
77
+ /** Container args appended to the command */
78
+ args?: string[];
35
79
  /** Raw env vars for advanced use cases */
36
80
  rawEnv?: EnvVar[];
37
81
  /** CPU and memory requests/limits for the app container */
@@ -45,6 +89,59 @@ export interface WebServiceProps {
45
89
  memory?: string;
46
90
  };
47
91
  };
92
+ /** Container securityContext (runAsNonRoot, capabilities, …) */
93
+ securityContext?: Record<string, unknown>;
94
+ /** Pod-level securityContext */
95
+ podSecurityContext?: Record<string, unknown>;
96
+ /**
97
+ * Pod tolerations (e.g. faster eviction on node failure:
98
+ * { key: 'node.kubernetes.io/unreachable', effect: 'NoExecute', tolerationSeconds: 60 })
99
+ */
100
+ tolerations?: Record<string, unknown>[];
101
+ /** Pod topologySpreadConstraints (spread replicas across nodes) */
102
+ topologySpreadConstraints?: Record<string, unknown>[];
103
+ /**
104
+ * Deployment update strategy ('Recreate' for RWO-volume/migration apps).
105
+ * Default: 'Recreate' when the pod mounts a PVC volume and replicas=1
106
+ * (RollingUpdate would deadlock on the single-attach volume).
107
+ */
108
+ strategy?: 'Recreate' | 'RollingUpdate' | {
109
+ type: string;
110
+ rollingUpdate?: {
111
+ maxUnavailable?: string | number;
112
+ maxSurge?: string | number;
113
+ };
114
+ };
115
+ /** Pod volumes — combine with volumeMounts (e.g. PVCs, emptyDirs, ConfigMaps) */
116
+ volumes?: ({
117
+ name: string;
118
+ } & Record<string, unknown>)[];
119
+ /** Volume mounts for the app container */
120
+ volumeMounts?: {
121
+ name: string;
122
+ mountPath: string;
123
+ readOnly?: boolean;
124
+ subPath?: string;
125
+ }[];
126
+ /**
127
+ * Init containers run before the app starts (chown, schema setup, font
128
+ * installation, …). Pass-through shape: name/image required, the rest
129
+ * follows the Kubernetes container spec.
130
+ */
131
+ initContainers?: ({
132
+ name: string;
133
+ image: string;
134
+ } & Record<string, unknown>)[];
135
+ /** Container lifecycle hooks (e.g. { preStop: { exec: { command: [...] } } }) */
136
+ lifecycle?: Record<string, unknown>;
137
+ /**
138
+ * Image pull policy. Default depends on the tag: floating tags
139
+ * (latest/main/master/dev/edge/head/nightly/canary) get 'Always', pinned
140
+ * tags and digests get 'IfNotPresent' (immutable — pointless to re-pull).
141
+ */
142
+ imagePullPolicy?: 'Always' | 'IfNotPresent' | 'Never';
143
+ /** Names of Secrets used to pull private registry images */
144
+ imagePullSecrets?: string[];
48
145
  }
49
146
  /**
50
147
  * Simple web service (backend or frontend).
@@ -1 +1 @@
1
- {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAI5D,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,CAAA;IAC5C,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5C,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC3C,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,oCA8JhD"}
1
+ {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":"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"}
@@ -42,14 +42,71 @@ const operators_1 = require("./operators");
42
42
  * )
43
43
  */
44
44
  function WebService(props) {
45
- const { name, namespace = 'default', image, port = 3000, replicas = 2, env = {}, secrets = {}, vault = {}, rawEnv = [], resources, } = props;
45
+ const { name, namespace: namespaceProp, image, port = 3000, replicas = 2, probes, env = {}, secrets = {}, vault = {}, command, args, rawEnv = [], resources, securityContext, podSecurityContext, tolerations, topologySpreadConstraints, strategy, volumes, volumeMounts, initContainers, lifecycle, imagePullPolicy, imagePullSecrets, } = props;
46
+ const buildProbe = (spec, fallbackPath) => {
47
+ if (spec === null)
48
+ return undefined;
49
+ if (!spec)
50
+ return { httpGet: { path: fallbackPath, port }, initialDelaySeconds: 10, periodSeconds: 10 };
51
+ const initialDelaySeconds = spec.initialDelaySeconds ?? 10;
52
+ const periodSeconds = spec.periodSeconds ?? 10;
53
+ if (spec.tcp) {
54
+ return {
55
+ tcpSocket: { port: spec.port ?? port },
56
+ initialDelaySeconds,
57
+ periodSeconds,
58
+ // !== undefined (not truthy): an explicit 0 must surface as-is so
59
+ // Kubernetes validation fails loudly instead of silently reverting
60
+ // to the default
61
+ ...(spec.failureThreshold !== undefined && { failureThreshold: spec.failureThreshold }),
62
+ };
63
+ }
64
+ return {
65
+ httpGet: { path: spec.path ?? fallbackPath, port: spec.port ?? port },
66
+ initialDelaySeconds,
67
+ periodSeconds,
68
+ ...(spec.failureThreshold !== undefined && { failureThreshold: spec.failureThreshold }),
69
+ };
70
+ };
71
+ const livenessProbe = buildProbe(probes?.liveness, '/health');
72
+ const readinessProbe = buildProbe(probes?.readiness, '/ready');
73
+ const startupProbe = buildProbe(probes?.startup ?? null, '/health');
74
+ // --- Safe defaults derived from the image and storage shape -------------
75
+ // imagePullPolicy: a floating tag must be re-pulled (Always); a pinned tag
76
+ // (or digest) is immutable, so IfNotPresent avoids pointless pulls and
77
+ // makes deploys robust when a registry is slow/unreachable. Explicit prop
78
+ // always wins. Floating set covers the conventional mutables.
79
+ const imageLeaf = image.slice(image.lastIndexOf('/') + 1);
80
+ const imageTag = imageLeaf.includes('@')
81
+ ? imageLeaf.slice(imageLeaf.indexOf('@') + 1)
82
+ : imageLeaf.includes(':')
83
+ ? imageLeaf.slice(imageLeaf.indexOf(':') + 1)
84
+ : 'latest';
85
+ const FLOATING_TAGS = new Set([
86
+ 'latest',
87
+ 'main',
88
+ 'master',
89
+ 'dev',
90
+ 'edge',
91
+ 'head',
92
+ 'nightly',
93
+ 'canary',
94
+ ]);
95
+ const pullPolicy = imagePullPolicy ??
96
+ (!imageLeaf.includes('@') && FLOATING_TAGS.has(imageTag.toLowerCase())
97
+ ? 'Always'
98
+ : 'IfNotPresent');
99
+ // strategy: RollingUpdate + a ReadWriteOnce PVC + replicas=1 deadlocks
100
+ // (the new pod cannot attach the volume until the old releases it), and
101
+ // in-place DB-migration apps (n8n, outline) must not run two versions at
102
+ // once. Recreate is always safe at replicas=1 — there is already no HA.
103
+ const hasPvcVolume = (volumes ?? []).some((v) => 'persistentVolumeClaim' in v);
104
+ const derivedStrategy = strategy ?? (hasPvcVolume && replicas === 1 ? 'Recreate' : undefined);
46
105
  const envVars = [];
47
106
  const vaultResources = [];
48
- // Plain env vars
49
- for (const [key, value] of Object.entries(env)) {
50
- envVars.push({ name: key, value });
51
- }
52
- // Secrets from Kubernetes Secrets
107
+ // Secrets from Kubernetes Secrets — pushed before plain env vars so
108
+ // Kubernetes dependent-variable expansion lets env values reference
109
+ // secret-backed vars via $(VAR).
53
110
  for (const [envName, ref] of Object.entries(secrets)) {
54
111
  if (typeof ref === 'string') {
55
112
  // Simple string: secret name, key = env name
@@ -66,9 +123,21 @@ function WebService(props) {
66
123
  });
67
124
  }
68
125
  }
126
+ // Plain env vars
127
+ for (const [key, value] of Object.entries(env)) {
128
+ envVars.push({ name: key, value });
129
+ }
69
130
  // Vault secrets — create VaultStaticSecret objects
131
+ const namespace = (0, defaults_1.useNamespace)(namespaceProp);
132
+ const platformSecrets = (0, core_1.useContext)(defaults_1.SecretContext);
70
133
  for (const [envName, ref] of Object.entries(vault)) {
71
134
  const secretName = `${name}-${envName.toLowerCase().replace(/_/g, '-')}-vault`;
135
+ const refreshAfter = ref.refreshAfter ?? platformSecrets?.refreshAfter;
136
+ const targets = ref.rolloutRestartTargets?.map((t) => ({
137
+ apiVersion: t.apiVersion ?? 'apps/v1',
138
+ kind: t.kind ?? 'Deployment',
139
+ name: t.name,
140
+ }));
72
141
  // Create VaultStaticSecret
73
142
  vaultResources.push((0, core_1.jsx)('VaultStaticSecret', {
74
143
  apiVersion: 'secrets.hashicorp.com/v1beta1',
@@ -79,9 +148,17 @@ function WebService(props) {
79
148
  mount: ref.mount,
80
149
  type: 'kv-v2',
81
150
  path: ref.path,
151
+ ...(refreshAfter && { refreshAfter }),
152
+ ...(targets && targets.length > 0 && { rolloutRestartTargets: targets }),
82
153
  destination: {
83
154
  create: true,
84
155
  name: secretName,
156
+ ...(ref.templates &&
157
+ Object.keys(ref.templates).length > 0 && {
158
+ transformation: {
159
+ templates: Object.fromEntries(Object.entries(ref.templates).map(([k, text]) => [k, { text }])),
160
+ },
161
+ }),
85
162
  },
86
163
  },
87
164
  }));
@@ -129,27 +206,39 @@ function WebService(props) {
129
206
  metadata: { name, namespace, labels: { app: name } },
130
207
  spec: {
131
208
  replicas,
209
+ ...(derivedStrategy && {
210
+ strategy: typeof derivedStrategy === 'string' ? { type: derivedStrategy } : derivedStrategy,
211
+ }),
132
212
  selector: { matchLabels: { app: name } },
133
213
  template: {
134
214
  metadata: { labels: { app: name } },
135
215
  spec: {
216
+ ...(podSecurityContext && { securityContext: podSecurityContext }),
217
+ ...(tolerations && { tolerations }),
218
+ ...(topologySpreadConstraints && { topologySpreadConstraints }),
219
+ ...(imagePullSecrets &&
220
+ imagePullSecrets.length > 0 && {
221
+ imagePullSecrets: imagePullSecrets.map((name) => ({ name })),
222
+ }),
223
+ ...(initContainers &&
224
+ initContainers.length > 0 && { initContainers: initContainers }),
225
+ ...(volumes && volumes.length > 0 && { volumes: volumes }),
136
226
  containers: [
137
227
  {
138
228
  name: 'app',
139
229
  image,
230
+ imagePullPolicy: pullPolicy,
231
+ ...(command && { command }),
232
+ ...(args && { args }),
140
233
  ports: [{ containerPort: port }],
141
234
  env: envVars,
142
235
  ...(resources && { resources }),
143
- livenessProbe: {
144
- httpGet: { path: '/health', port },
145
- initialDelaySeconds: 10,
146
- periodSeconds: 10,
147
- },
148
- readinessProbe: {
149
- httpGet: { path: '/ready', port },
150
- initialDelaySeconds: 5,
151
- periodSeconds: 5,
152
- },
236
+ ...(securityContext && { securityContext }),
237
+ ...(lifecycle && { lifecycle: lifecycle }),
238
+ ...(volumeMounts && volumeMounts.length > 0 && { volumeMounts }),
239
+ ...(startupProbe && { startupProbe }),
240
+ ...(livenessProbe && { livenessProbe }),
241
+ ...(readinessProbe && { readinessProbe }),
153
242
  },
154
243
  ],
155
244
  },
@@ -163,7 +252,18 @@ function WebService(props) {
163
252
  spec: {
164
253
  type: 'ClusterIP',
165
254
  selector: { app: name },
166
- ports: [{ port: 80, targetPort: port }],
255
+ // Expose the app port directly (so consumers can reference it) while
256
+ // keeping 80 as a stable backward-compatible alias: existing
257
+ // Endpoints/default servicePort=80 users keep routing during
258
+ // migration to explicit servicePort.
259
+ // Port names are REQUIRED whenever a Service has more than one port —
260
+ // without them the API server rejects the resource (caught by Flux
261
+ // dry-run as "spec.ports[i].name: Required value").
262
+ ports: [
263
+ { name: 'http', port, targetPort: port },
264
+ // eslint-disable-next-line -- 80 alias for legacy servicePort=80 consumers
265
+ ...(port !== 80 ? [{ name: 'http-80', port: 80, targetPort: port }] : []),
266
+ ],
167
267
  },
168
268
  };
169
269
  return [...vaultResources, (0, core_1.jsx)('Deployment', deployment), (0, core_1.jsx)('Service', service)];
@@ -1 +1 @@
1
- {"version":3,"file":"web-service.js","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-service.js","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":";;AA0KA,gCAuRC;AAjcD,oCAA4D;AAE5D,iDAAkG;AAClG,2CAAkD;AAkIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,UAAU,CAAC,KAAsB;IAC/C,MAAM,EACJ,IAAI,EACJ,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,CAAC,EACZ,MAAM,EACN,GAAG,GAAG,EAAE,EACR,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,EAAE,EACV,OAAO,EACP,IAAI,EACJ,MAAM,GAAG,EAAE,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,EACd,SAAS,EACT,eAAe,EACf,gBAAgB,GACjB,GAAG,KAAK,CAAA;IAET,MAAM,UAAU,GAAG,CAAC,IAAkC,EAAE,YAAoB,EAAE,EAAE;QAC9E,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACnC,IAAI,CAAC,IAAI;YACP,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;QAC9F,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAA;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAA;QAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACtC,mBAAmB;gBACnB,aAAa;gBACb,kEAAkE;gBAClE,mEAAmE;gBACnE,iBAAiB;gBACjB,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACxF,CAAA;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrE,mBAAmB;YACnB,aAAa;YACb,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,CAAC,CAAA;IAEnE,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAA;IACd,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,KAAK;QACL,MAAM;QACN,MAAM;QACN,SAAS;QACT,QAAQ;KACT,CAAC,CAAA;IACF,MAAM,UAAU,GACd,eAAe;QACf,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACpE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAc,CAAC,CAAA;IAErB,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,IAAI,CAAC,CAAC,CAAA;IAC9E,MAAM,eAAe,GACnB,QAAQ,IAAI,CAAC,YAAY,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAE,UAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAElF,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,cAAc,GAA6B,EAAE,CAAA;IAEnD,oEAAoE;IACpE,oEAAoE;IACpE,iCAAiC;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;aACzD,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO,EAAE,EAAE;aAC3E,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAA,uBAAY,EAAC,aAAa,CAAC,CAAA;IAC7C,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,wBAAa,CAAC,CAAA;IACjD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAA;QAC9E,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,eAAe,EAAE,YAAY,CAAA;QACtE,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,YAAY;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAA;QAEH,2BAA2B;QAC3B,cAAc,CAAC,IAAI,CACjB,IAAA,UAAG,EAAC,mBAAmB,EAAE;YACvB,UAAU,EAAE,+BAA+B;YAC3C,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;YACzC,IAAI,EAAE;gBACJ,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;gBAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC;gBACxE,WAAW,EAAE;oBACX,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,UAAU;oBAChB,GAAG,CAAC,GAAG,CAAC,SAAS;wBACf,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI;wBACvC,cAAc,EAAE;4BACd,SAAS,EAAE,MAAM,CAAC,WAAW,CAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAChE;yBACF;qBACF,CAAC;iBACL;aACF;SACF,CAAC,CACH,CAAA;QAED,iCAAiC;QACjC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO,EAAE,EAAE;SAC3E,CAAC,CAAA;IACJ,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;IAEvB,2DAA2D;IAC3D,MAAM,SAAS,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;IAC7C,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;QACjE,gFAAgF;QAChF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;QAEpE,qDAAqD;QACrD,OAAO,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAC/C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,EACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnC;YACE,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE;gBACT,YAAY,EAAE;oBACZ,IAAI,EAAE,cAAc,CAAC,IAAI;oBACzB,GAAG,EAAE,cAAc,CAAC,GAAG,IAAI,UAAU;iBACtC;aACF;SACF,CACF,CAAA;QAED,iEAAiE;QACjE,yDAAyD;QACzD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,wEAAwE;SAChF,CAAC,CAAA;IACJ,CAAC;IAED,2DAA2D;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAA;QACjF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,IAAA,gCAAoB,GAAE,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAe;QAC7B,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACpD,IAAI,EAAE;YACJ,QAAQ;YACR,GAAG,CAAC,eAAe,IAAI;gBACrB,QAAQ,EAAE,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe;aAC5F,CAAC;YACF,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxC,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACnC,IAAI,EAAE;oBACJ,GAAG,CAAC,kBAAkB,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;oBAClE,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;oBACnC,GAAG,CAAC,yBAAyB,IAAI,EAAE,yBAAyB,EAAE,CAAC;oBAC/D,GAAG,CAAC,gBAAgB;wBAClB,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI;wBAC7B,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC7D,CAAC;oBACJ,GAAG,CAAC,cAAc;wBAChB,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,cAAuB,EAAE,CAAC;oBAC3E,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAgB,EAAE,CAAC;oBACnE,UAAU,EAAE;wBACV;4BACE,IAAI,EAAE,KAAK;4BACX,KAAK;4BACL,eAAe,EAAE,UAAU;4BAC3B,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;4BAC3B,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;4BACrB,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;4BAChC,GAAG,EAAE,OAAO;4BACZ,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC/B,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;4BAC3C,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,SAAkB,EAAE,CAAC;4BACnD,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;4BAChE,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;4BACrC,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;4BACvC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;yBAC1C;qBACF;iBACF;aACF;SACF;KACF,CAAA;IAED,MAAM,OAAO,GAAY;QACvB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;YACvB,qEAAqE;YACrE,6DAA6D;YAC7D,6DAA6D;YAC7D,qCAAqC;YACrC,sEAAsE;YACtE,mEAAmE;YACnE,oDAAoD;YACpD,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACxC,2EAA2E;gBAC3E,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E;SACF;KACF,CAAA;IAED,OAAO,CAAC,GAAG,cAAc,EAAE,IAAA,UAAG,EAAC,YAAY,EAAE,UAAU,CAAC,EAAE,IAAA,UAAG,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r8s/recipes",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Pre-built Kubernetes component recipes for r8s",
5
5
  "license": "MIT",
6
6
  "author": "Berget AI AB",
@@ -37,9 +37,9 @@
37
37
  "clean": "rm -rf dist tsconfig.tsbuildinfo"
38
38
  },
39
39
  "dependencies": {
40
- "@r8s/core": "^0.1.0",
41
- "@r8s/k8s-types": "^0.1.0",
42
- "@r8s/crds": "^0.1.0"
40
+ "@r8s/core": "^0.2.0",
41
+ "@r8s/k8s-types": "^0.2.0",
42
+ "@r8s/crds": "^0.2.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.3.0",