@vibesdotdev/infra-core 0.0.1 → 1.0.0-rc.4
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/LICENSE +18 -0
- package/README.md +33 -63
- package/dist/bootstrap/seed.descriptor.d.ts +1 -1
- package/dist/bootstrap/seed.descriptor.d.ts.map +1 -1
- package/dist/bootstrap/seed.descriptor.js +1 -1
- package/dist/bootstrap/seed.descriptor.js.map +1 -1
- package/dist/bootstrap/seed.impl-shape.d.ts +1 -1
- package/dist/bootstrap/seed.impl-shape.d.ts.map +1 -1
- package/dist/bootstrap/seed.kind.d.ts +1 -3
- package/dist/bootstrap/seed.kind.d.ts.map +1 -1
- package/dist/bootstrap/seed.kind.js +17 -4
- package/dist/bootstrap/seed.kind.js.map +1 -1
- package/dist/bootstrap/seed.runner.d.ts +9 -2
- package/dist/bootstrap/seed.runner.d.ts.map +1 -1
- package/dist/bootstrap/seed.runner.js +37 -18
- package/dist/bootstrap/seed.runner.js.map +1 -1
- package/dist/capped-id.d.ts +19 -0
- package/dist/capped-id.d.ts.map +1 -0
- package/dist/capped-id.js +64 -0
- package/dist/capped-id.js.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts +23 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js +33 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts +24 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.js +73 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.js.map +1 -0
- package/dist/cli/generate/context.d.ts +17 -0
- package/dist/cli/generate/context.d.ts.map +1 -0
- package/dist/cli/generate/context.js +24 -0
- package/dist/cli/generate/context.js.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts +30 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.js +25 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.js.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.d.ts +25 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.js +64 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.js.map +1 -0
- package/dist/cli/generate/generate-core.d.ts +51 -0
- package/dist/cli/generate/generate-core.d.ts.map +1 -0
- package/dist/cli/generate/generate-core.js +172 -0
- package/dist/cli/generate/generate-core.js.map +1 -0
- package/dist/cli/generate/index.d.ts +5 -0
- package/dist/cli/generate/index.d.ts.map +1 -0
- package/dist/cli/generate/index.js +5 -0
- package/dist/cli/generate/index.js.map +1 -0
- package/dist/credentials/resolve.d.ts +82 -22
- package/dist/credentials/resolve.d.ts.map +1 -1
- package/dist/credentials/resolve.js +251 -77
- package/dist/credentials/resolve.js.map +1 -1
- package/dist/deployment-environment.d.ts +30 -0
- package/dist/deployment-environment.d.ts.map +1 -0
- package/dist/deployment-environment.js +53 -0
- package/dist/deployment-environment.js.map +1 -0
- package/dist/deployment.d.ts +8 -4
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +30 -0
- package/dist/deployment.js.map +1 -1
- package/dist/doks/cloud/base.d.ts +49 -0
- package/dist/doks/cloud/base.d.ts.map +1 -0
- package/dist/doks/cloud/base.js +138 -0
- package/dist/doks/cloud/base.js.map +1 -0
- package/dist/doks/cloud/factory.d.ts +18 -0
- package/dist/doks/cloud/factory.d.ts.map +1 -0
- package/dist/doks/cloud/factory.js +22 -0
- package/dist/doks/cloud/factory.js.map +1 -0
- package/dist/doks/cloud/index.d.ts +5 -0
- package/dist/doks/cloud/index.d.ts.map +1 -0
- package/dist/doks/cloud/index.js +4 -0
- package/dist/doks/cloud/index.js.map +1 -0
- package/dist/doks/types.d.ts +95 -0
- package/dist/doks/types.d.ts.map +1 -0
- package/dist/doks/types.js +14 -0
- package/dist/doks/types.js.map +1 -0
- package/dist/generate/index.d.ts +29 -0
- package/dist/generate/index.d.ts.map +1 -0
- package/dist/generate/index.js +28 -0
- package/dist/generate/index.js.map +1 -0
- package/dist/generate/infra-generate.plugin.d.ts +3 -0
- package/dist/generate/infra-generate.plugin.d.ts.map +1 -0
- package/dist/generate/infra-generate.plugin.js +23 -0
- package/dist/generate/infra-generate.plugin.js.map +1 -0
- package/dist/generate/plugin.d.ts +2 -0
- package/dist/generate/plugin.d.ts.map +1 -0
- package/dist/generate/plugin.js +2 -0
- package/dist/generate/plugin.js.map +1 -0
- package/dist/heartbeat/cron-heartbeat.d.ts +97 -0
- package/dist/heartbeat/cron-heartbeat.d.ts.map +1 -0
- package/dist/heartbeat/cron-heartbeat.js +200 -0
- package/dist/heartbeat/cron-heartbeat.js.map +1 -0
- package/dist/index.d.ts +34 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -14
- package/dist/index.js.map +1 -1
- package/dist/infra.plugin.d.ts +1 -1
- package/dist/infra.plugin.d.ts.map +1 -1
- package/dist/infra.plugin.js +62 -12
- package/dist/infra.plugin.js.map +1 -1
- package/dist/kinds/alerts.kind.d.ts +64 -25
- package/dist/kinds/alerts.kind.d.ts.map +1 -1
- package/dist/kinds/alerts.kind.js +43 -16
- package/dist/kinds/alerts.kind.js.map +1 -1
- package/dist/kinds/artifact.kind.d.ts +58 -10
- package/dist/kinds/artifact.kind.d.ts.map +1 -1
- package/dist/kinds/artifact.kind.js +26 -9
- package/dist/kinds/artifact.kind.js.map +1 -1
- package/dist/kinds/billing.kind.d.ts +88 -0
- package/dist/kinds/billing.kind.d.ts.map +1 -0
- package/dist/kinds/billing.kind.js +48 -0
- package/dist/kinds/billing.kind.js.map +1 -0
- package/dist/kinds/build-job.kind.d.ts +381 -0
- package/dist/kinds/build-job.kind.d.ts.map +1 -0
- package/dist/kinds/build-job.kind.js +216 -0
- package/dist/kinds/build-job.kind.js.map +1 -0
- package/dist/kinds/cache.kind.d.ts +39 -92
- package/dist/kinds/cache.kind.d.ts.map +1 -1
- package/dist/kinds/cache.kind.js +26 -51
- package/dist/kinds/cache.kind.js.map +1 -1
- package/dist/kinds/cluster.kind.d.ts +154 -0
- package/dist/kinds/cluster.kind.d.ts.map +1 -0
- package/dist/kinds/cluster.kind.js +99 -0
- package/dist/kinds/cluster.kind.js.map +1 -0
- package/dist/kinds/compute-source.kind.d.ts +138 -0
- package/dist/kinds/compute-source.kind.d.ts.map +1 -0
- package/dist/kinds/compute-source.kind.js +145 -0
- package/dist/kinds/compute-source.kind.js.map +1 -0
- package/dist/kinds/compute-sources.descriptors.d.ts +45 -0
- package/dist/kinds/compute-sources.descriptors.d.ts.map +1 -0
- package/dist/kinds/compute-sources.descriptors.js +93 -0
- package/dist/kinds/compute-sources.descriptors.js.map +1 -0
- package/dist/kinds/container-registry.kind.d.ts +62 -0
- package/dist/kinds/container-registry.kind.d.ts.map +1 -0
- package/dist/kinds/container-registry.kind.js +47 -0
- package/dist/kinds/container-registry.kind.js.map +1 -0
- package/dist/kinds/database-migrator.kind.d.ts +6 -0
- package/dist/kinds/database-migrator.kind.d.ts.map +1 -0
- package/dist/kinds/database-migrator.kind.js +28 -0
- package/dist/kinds/database-migrator.kind.js.map +1 -0
- package/dist/kinds/database.kind.d.ts +114 -93
- package/dist/kinds/database.kind.d.ts.map +1 -1
- package/dist/kinds/database.kind.js +93 -54
- package/dist/kinds/database.kind.js.map +1 -1
- package/dist/kinds/deployment-provider.kind.d.ts +5 -0
- package/dist/kinds/deployment-provider.kind.d.ts.map +1 -0
- package/dist/kinds/deployment-provider.kind.js +11 -0
- package/dist/kinds/deployment-provider.kind.js.map +1 -0
- package/dist/kinds/discovery.d.ts +5 -12
- package/dist/kinds/discovery.d.ts.map +1 -1
- package/dist/kinds/discovery.js +5 -17
- package/dist/kinds/discovery.js.map +1 -1
- package/dist/kinds/dns.kind.d.ts +162 -0
- package/dist/kinds/dns.kind.d.ts.map +1 -0
- package/dist/kinds/dns.kind.js +54 -0
- package/dist/kinds/dns.kind.js.map +1 -0
- package/dist/kinds/drift.kind.d.ts +115 -0
- package/dist/kinds/drift.kind.d.ts.map +1 -0
- package/dist/kinds/drift.kind.js +60 -0
- package/dist/kinds/drift.kind.js.map +1 -0
- package/dist/kinds/edge-tls.kind.d.ts +194 -0
- package/dist/kinds/edge-tls.kind.d.ts.map +1 -0
- package/dist/kinds/edge-tls.kind.js +58 -0
- package/dist/kinds/edge-tls.kind.js.map +1 -0
- package/dist/kinds/firewall.kind.d.ts +92 -0
- package/dist/kinds/firewall.kind.d.ts.map +1 -0
- package/dist/kinds/firewall.kind.js +59 -0
- package/dist/kinds/firewall.kind.js.map +1 -0
- package/dist/kinds/git-hosting.kind.d.ts +36 -38
- package/dist/kinds/git-hosting.kind.d.ts.map +1 -1
- package/dist/kinds/git-hosting.kind.js +23 -34
- package/dist/kinds/git-hosting.kind.js.map +1 -1
- package/dist/kinds/index.d.ts +40 -15
- package/dist/kinds/index.d.ts.map +1 -1
- package/dist/kinds/index.js +39 -14
- package/dist/kinds/index.js.map +1 -1
- package/dist/kinds/inventory.kind.d.ts +326 -0
- package/dist/kinds/inventory.kind.d.ts.map +1 -0
- package/dist/kinds/inventory.kind.js +188 -0
- package/dist/kinds/inventory.kind.js.map +1 -0
- package/dist/kinds/load-balancer.kind.d.ts +135 -0
- package/dist/kinds/load-balancer.kind.d.ts.map +1 -0
- package/dist/kinds/load-balancer.kind.js +71 -0
- package/dist/kinds/load-balancer.kind.js.map +1 -0
- package/dist/kinds/logs.kind.d.ts +74 -3
- package/dist/kinds/logs.kind.d.ts.map +1 -1
- package/dist/kinds/logs.kind.js +26 -17
- package/dist/kinds/logs.kind.js.map +1 -1
- package/dist/kinds/nfs.kind.d.ts +67 -0
- package/dist/kinds/nfs.kind.d.ts.map +1 -0
- package/dist/kinds/nfs.kind.js +45 -0
- package/dist/kinds/nfs.kind.js.map +1 -0
- package/dist/kinds/node-pool.kind.d.ts +134 -0
- package/dist/kinds/node-pool.kind.d.ts.map +1 -0
- package/dist/kinds/node-pool.kind.js +88 -0
- package/dist/kinds/node-pool.kind.js.map +1 -0
- package/dist/kinds/object-storage.kind.d.ts +50 -24
- package/dist/kinds/object-storage.kind.d.ts.map +1 -1
- package/dist/kinds/object-storage.kind.js +40 -23
- package/dist/kinds/object-storage.kind.js.map +1 -1
- package/dist/kinds/observability.kind.d.ts +104 -6
- package/dist/kinds/observability.kind.d.ts.map +1 -1
- package/dist/kinds/observability.kind.js +67 -9
- package/dist/kinds/observability.kind.js.map +1 -1
- package/dist/kinds/package-registry.kind.d.ts +27 -31
- package/dist/kinds/package-registry.kind.d.ts.map +1 -1
- package/dist/kinds/package-registry.kind.js +13 -26
- package/dist/kinds/package-registry.kind.js.map +1 -1
- package/dist/kinds/queue.kind.d.ts +67 -63
- package/dist/kinds/queue.kind.d.ts.map +1 -1
- package/dist/kinds/queue.kind.js +55 -33
- package/dist/kinds/queue.kind.js.map +1 -1
- package/dist/kinds/read-descriptor.d.ts +15 -0
- package/dist/kinds/read-descriptor.d.ts.map +1 -0
- package/dist/kinds/read-descriptor.js +11 -0
- package/dist/kinds/read-descriptor.js.map +1 -0
- package/dist/kinds/rum.kind.d.ts +36 -6
- package/dist/kinds/rum.kind.d.ts.map +1 -1
- package/dist/kinds/rum.kind.js +6 -7
- package/dist/kinds/rum.kind.js.map +1 -1
- package/dist/kinds/sandbox.kind.d.ts +136 -36
- package/dist/kinds/sandbox.kind.d.ts.map +1 -1
- package/dist/kinds/sandbox.kind.js +80 -34
- package/dist/kinds/sandbox.kind.js.map +1 -1
- package/dist/kinds/select-compute-source.d.ts +72 -0
- package/dist/kinds/select-compute-source.d.ts.map +1 -0
- package/dist/kinds/select-compute-source.js +170 -0
- package/dist/kinds/select-compute-source.js.map +1 -0
- package/dist/kinds/service-release.kind.d.ts +771 -0
- package/dist/kinds/service-release.kind.d.ts.map +1 -0
- package/dist/kinds/service-release.kind.js +676 -0
- package/dist/kinds/service-release.kind.js.map +1 -0
- package/dist/kinds/spend-guard.kind.d.ts +40 -0
- package/dist/kinds/spend-guard.kind.d.ts.map +1 -0
- package/dist/kinds/spend-guard.kind.js +133 -0
- package/dist/kinds/spend-guard.kind.js.map +1 -0
- package/dist/kinds/utilization.kind.d.ts +88 -0
- package/dist/kinds/utilization.kind.d.ts.map +1 -0
- package/dist/kinds/utilization.kind.js +62 -0
- package/dist/kinds/utilization.kind.js.map +1 -0
- package/dist/kinds/volume.kind.d.ts +54 -0
- package/dist/kinds/volume.kind.d.ts.map +1 -0
- package/dist/kinds/volume.kind.js +39 -0
- package/dist/kinds/volume.kind.js.map +1 -0
- package/dist/kinds/vpc.kind.d.ts +61 -0
- package/dist/kinds/vpc.kind.d.ts.map +1 -0
- package/dist/kinds/vpc.kind.js +51 -0
- package/dist/kinds/vpc.kind.js.map +1 -0
- package/dist/kinds/web-app.kind.d.ts +115 -45
- package/dist/kinds/web-app.kind.d.ts.map +1 -1
- package/dist/kinds/web-app.kind.js +69 -42
- package/dist/kinds/web-app.kind.js.map +1 -1
- package/dist/kinds/worker.kind.d.ts +291 -188
- package/dist/kinds/worker.kind.d.ts.map +1 -1
- package/dist/kinds/worker.kind.js +45 -123
- package/dist/kinds/worker.kind.js.map +1 -1
- package/dist/schemas/database-migration.d.ts +173 -0
- package/dist/schemas/database-migration.d.ts.map +1 -0
- package/dist/schemas/database-migration.js +88 -0
- package/dist/schemas/database-migration.js.map +1 -0
- package/dist/schemas/deployment-environment.d.ts +11 -0
- package/dist/schemas/deployment-environment.d.ts.map +1 -0
- package/dist/schemas/deployment-environment.js +9 -0
- package/dist/schemas/deployment-environment.js.map +1 -0
- package/dist/schemas/deployment-provider.d.ts +336 -0
- package/dist/schemas/deployment-provider.d.ts.map +1 -0
- package/dist/schemas/deployment-provider.js +198 -0
- package/dist/schemas/deployment-provider.js.map +1 -0
- package/dist/schemas/log-stream.d.ts +27 -0
- package/dist/schemas/log-stream.d.ts.map +1 -0
- package/dist/schemas/log-stream.js +31 -0
- package/dist/schemas/log-stream.js.map +1 -0
- package/dist/schemas/spend-guard.d.ts +155 -0
- package/dist/schemas/spend-guard.d.ts.map +1 -0
- package/dist/schemas/spend-guard.js +61 -0
- package/dist/schemas/spend-guard.js.map +1 -0
- package/dist/schemas.d.ts +190 -20
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +137 -31
- package/dist/schemas.js.map +1 -1
- package/dist/service.d.ts +87 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +199 -0
- package/dist/service.js.map +1 -0
- package/dist/settle-work.d.ts +20 -0
- package/dist/settle-work.d.ts.map +1 -0
- package/dist/settle-work.js +22 -0
- package/dist/settle-work.js.map +1 -0
- package/dist/web-app-projection.d.ts +132 -0
- package/dist/web-app-projection.d.ts.map +1 -0
- package/dist/web-app-projection.js +93 -0
- package/dist/web-app-projection.js.map +1 -0
- package/package.json +89 -39
- package/SPEC.md +0 -169
- package/src/bootstrap/index.ts +0 -15
- package/src/bootstrap/seed.descriptor.ts +0 -24
- package/src/bootstrap/seed.impl-shape.ts +0 -5
- package/src/bootstrap/seed.kind.ts +0 -26
- package/src/bootstrap/seed.runner.ts +0 -87
- package/src/credentials/resolve.ts +0 -205
- package/src/deployment.ts +0 -57
- package/src/index.ts +0 -149
- package/src/infra.plugin.ts +0 -54
- package/src/kinds/alerts.kind.ts +0 -164
- package/src/kinds/artifact.kind.ts +0 -96
- package/src/kinds/cache.kind.ts +0 -104
- package/src/kinds/database.kind.ts +0 -120
- package/src/kinds/discovery.ts +0 -26
- package/src/kinds/git-hosting.kind.ts +0 -100
- package/src/kinds/index.ts +0 -139
- package/src/kinds/logs.kind.ts +0 -104
- package/src/kinds/object-storage.kind.ts +0 -101
- package/src/kinds/observability.kind.ts +0 -178
- package/src/kinds/package-registry.kind.ts +0 -95
- package/src/kinds/queue.kind.ts +0 -102
- package/src/kinds/rum.kind.ts +0 -135
- package/src/kinds/sandbox.kind.ts +0 -115
- package/src/kinds/web-app.kind.ts +0 -103
- package/src/kinds/worker.kind.ts +0 -203
- package/src/schemas.ts +0 -127
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-balancer.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/load-balancer.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;iBAO3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAQxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAWpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,cAAM,iCAAiC;aAIrB,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;gBAEvB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,gBAAgB,8FAK3B,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kind: infra/load-balancer
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral load balancer descriptor.
|
|
5
|
+
*
|
|
6
|
+
* `config` is an open, adapter-keyed shape (DigitalOcean's load balancer
|
|
7
|
+
* config lives in `@vibesdotdev/integrations-digitalocean`); this kind
|
|
8
|
+
* names no provider, so a config for any adapter parses here and the
|
|
9
|
+
* adapter validates its own grammar.
|
|
10
|
+
*/
|
|
11
|
+
import * as z from 'zod/v4';
|
|
12
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
13
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
14
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
15
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
16
|
+
export const LoadBalancerForwardingRuleSchema = z.object({
|
|
17
|
+
entryProtocol: z.enum(['http', 'https', 'http2', 'http3', 'tcp', 'udp']),
|
|
18
|
+
entryPort: z.number().int().positive(),
|
|
19
|
+
targetProtocol: z.enum(['http', 'https', 'http2', 'tcp', 'udp']),
|
|
20
|
+
targetPort: z.number().int().positive(),
|
|
21
|
+
certificateId: z.string().optional(),
|
|
22
|
+
tlsPassthrough: z.boolean().optional()
|
|
23
|
+
});
|
|
24
|
+
export const LoadBalancerHealthCheckSchema = z.object({
|
|
25
|
+
protocol: z.enum(['http', 'https', 'tcp']),
|
|
26
|
+
port: z.number().int().positive().optional(),
|
|
27
|
+
path: z.string().optional(),
|
|
28
|
+
checkIntervalSeconds: z.number().int().positive().optional(),
|
|
29
|
+
responseTimeoutSeconds: z.number().int().positive().optional(),
|
|
30
|
+
unhealthyThreshold: z.number().int().positive().optional(),
|
|
31
|
+
healthyThreshold: z.number().int().positive().optional()
|
|
32
|
+
});
|
|
33
|
+
const LoadBalancerBaseSchema = RuntimeDescriptorSchema.extend({
|
|
34
|
+
kind: z.literal('infra/load-balancer'),
|
|
35
|
+
region: z.string().min(1).optional(),
|
|
36
|
+
forwardingRules: z.array(LoadBalancerForwardingRuleSchema).optional(),
|
|
37
|
+
healthCheck: LoadBalancerHealthCheckSchema.optional(),
|
|
38
|
+
algorithm: z.enum(['round_robin', 'least_connections']).optional(),
|
|
39
|
+
redirectHttpToHttps: z.boolean().optional()
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Adapter-specific configuration: the adapter id plus its own fields. Each
|
|
43
|
+
* adapter package defines and parses its own config schema; this kind names
|
|
44
|
+
* no provider, so a config for any adapter — including one contributed by a
|
|
45
|
+
* user plugin — parses here, and the adapter validates its own grammar.
|
|
46
|
+
*/
|
|
47
|
+
export const LoadBalancerConfigSchema = z.looseObject({
|
|
48
|
+
adapter: z.string().min(1)
|
|
49
|
+
});
|
|
50
|
+
export const LoadBalancerDescriptorSchema = LoadBalancerBaseSchema.extend({
|
|
51
|
+
/** Adapter-specific configuration, parsed by the adapter that owns it. */
|
|
52
|
+
config: LoadBalancerConfigSchema.optional()
|
|
53
|
+
});
|
|
54
|
+
class DefaultLoadBalancerImplementation {
|
|
55
|
+
descriptor;
|
|
56
|
+
context;
|
|
57
|
+
/** The descriptor as this kind's schema reads it. */
|
|
58
|
+
config;
|
|
59
|
+
constructor(descriptor, context) {
|
|
60
|
+
this.descriptor = descriptor;
|
|
61
|
+
this.context = context;
|
|
62
|
+
this.config = readKindDescriptor(LoadBalancerDescriptorSchema, descriptor);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export const loadBalancerKind = createRuntimeKind({
|
|
66
|
+
id: 'infra/load-balancer',
|
|
67
|
+
descriptorSchema: LoadBalancerDescriptorSchema,
|
|
68
|
+
defaultImplementation: DefaultLoadBalancerImplementation,
|
|
69
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=load-balancer.kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-balancer.kind.js","sourceRoot":"","sources":["../../src/kinds/load-balancer.kind.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* Provides programmatic access to logs for tailing, queries, and analytics.
|
|
6
6
|
*/
|
|
7
7
|
import * as z from 'zod/v4';
|
|
8
|
+
import type { WorkerLogRequest, ActiveLogStream } from '../schemas/log-stream.ts';
|
|
9
|
+
import type { DatabaseMigrationCredentialSource, DatabaseMigrationLog } from '../schemas/database-migration.ts';
|
|
10
|
+
import type { JsonValue } from '@vibesdotdev/kernel/schemas/json';
|
|
11
|
+
export { WorkerLogRequestSchema, ActiveLogStreamSchema, type WorkerLogRequest, type ActiveLogStream } from '../schemas/log-stream.ts';
|
|
8
12
|
export declare const InfraLogsDescriptorSchema: z.ZodObject<{
|
|
9
13
|
id: z.ZodString;
|
|
10
14
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -13,12 +17,23 @@ export declare const InfraLogsDescriptorSchema: z.ZodObject<{
|
|
|
13
17
|
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
18
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
15
19
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
16
21
|
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
22
|
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
-
config: z.ZodOptional<z.
|
|
23
|
+
config: z.ZodOptional<z.ZodUnknown>;
|
|
24
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
25
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
29
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
30
|
+
reason: z.ZodString;
|
|
31
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>]>>;
|
|
19
33
|
kind: z.ZodLiteral<"infra/logs">;
|
|
20
34
|
adapter: z.ZodString;
|
|
21
35
|
adapterConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
36
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
22
37
|
sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
23
38
|
type: z.ZodEnum<{
|
|
24
39
|
worker: "worker";
|
|
@@ -26,11 +41,12 @@ export declare const InfraLogsDescriptorSchema: z.ZodObject<{
|
|
|
26
41
|
d1: "d1";
|
|
27
42
|
r2: "r2";
|
|
28
43
|
kv: "kv";
|
|
44
|
+
pod: "pod";
|
|
29
45
|
}>;
|
|
30
46
|
name: z.ZodString;
|
|
31
47
|
environment: z.ZodOptional<z.ZodString>;
|
|
32
48
|
}, z.core.$strip>>>;
|
|
33
|
-
|
|
49
|
+
logRetention: z.ZodOptional<z.ZodObject<{
|
|
34
50
|
hotDays: z.ZodDefault<z.ZodNumber>;
|
|
35
51
|
coldDays: z.ZodDefault<z.ZodNumber>;
|
|
36
52
|
}, z.core.$strip>>;
|
|
@@ -48,7 +64,60 @@ export declare const InfraLogsDescriptorSchema: z.ZodObject<{
|
|
|
48
64
|
}, z.core.$strip>;
|
|
49
65
|
export type InfraLogsDescriptor = z.infer<typeof InfraLogsDescriptorSchema>;
|
|
50
66
|
export type InfraLogsDescriptorInput = z.input<typeof InfraLogsDescriptorSchema>;
|
|
67
|
+
export type LogQueryView = 'events' | 'invocations' | 'calculations' | 'calculations_by_invocation' | 'traces' | 'requests' | 'agents';
|
|
68
|
+
export type LogQueryFilterOperation = 'eq' | 'neq' | 'includes' | 'not_includes' | 'starts_with' | 'ends_with' | 'regex' | 'exists' | 'is_null' | 'in' | 'not_in' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
69
|
+
export interface LogQueryFilter {
|
|
70
|
+
key: string;
|
|
71
|
+
operation: LogQueryFilterOperation;
|
|
72
|
+
type?: 'string' | 'number' | 'boolean';
|
|
73
|
+
value?: string | number | boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface LogQueryOptions {
|
|
76
|
+
view?: LogQueryView;
|
|
77
|
+
filters?: LogQueryFilter[];
|
|
78
|
+
filterCombination?: 'and' | 'or';
|
|
79
|
+
needle?: {
|
|
80
|
+
value: string;
|
|
81
|
+
isRegex?: boolean;
|
|
82
|
+
matchCase?: boolean;
|
|
83
|
+
};
|
|
84
|
+
limit?: number;
|
|
85
|
+
offset?: string;
|
|
86
|
+
from: number;
|
|
87
|
+
to: number;
|
|
88
|
+
orderBy?: {
|
|
89
|
+
value: string;
|
|
90
|
+
order: 'asc' | 'desc';
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** A historical query's answer. The view fields keep the provider's JSON shape; callers normalize what they read. */
|
|
94
|
+
export interface LogQueryResult {
|
|
95
|
+
queryId?: string;
|
|
96
|
+
events?: JsonValue;
|
|
97
|
+
invocations?: JsonValue;
|
|
98
|
+
calculations?: JsonValue;
|
|
99
|
+
rows?: JsonValue;
|
|
100
|
+
result?: JsonValue;
|
|
101
|
+
count?: number;
|
|
102
|
+
/** How many rows matched before the limit applied, so a truncated answer never reads as complete. */
|
|
103
|
+
matchedBeforeLimit?: number;
|
|
104
|
+
/** Provider-reported scalar facts about what was read (for example the cluster and how many sources). */
|
|
105
|
+
facts?: Readonly<Record<string, string | number | boolean>>;
|
|
106
|
+
}
|
|
107
|
+
/** One command's credential choice for a log source: whose credentials, for which environment. */
|
|
108
|
+
export interface LogsSourceOptions {
|
|
109
|
+
/** `ambient` is the operator's explicit opt-in to the shell's provider credentials; it never consults a store. */
|
|
110
|
+
readonly credentialSource: DatabaseMigrationCredentialSource;
|
|
111
|
+
/** The Vibes deployment environment whose stored credentials the source reads; absent, the runtime's own. */
|
|
112
|
+
readonly environment?: string;
|
|
113
|
+
/** Where the source reports which store supplied its credentials. */
|
|
114
|
+
readonly log: Pick<DatabaseMigrationLog, 'info' | 'warn'>;
|
|
115
|
+
}
|
|
51
116
|
export interface LogsImplementation {
|
|
117
|
+
/** The same source under one command's credential choice; a source without it reads only its default credentials. */
|
|
118
|
+
create?(options: LogsSourceOptions): Promise<LogsImplementation>;
|
|
119
|
+
/** Optional Kubernetes workload log operation; providers validate with WorkerLogRequestSchema. */
|
|
120
|
+
streamLogs?(request: WorkerLogRequest): Promise<ActiveLogStream>;
|
|
52
121
|
/** Stream logs in real-time (returns WebSocket URL) */
|
|
53
122
|
tailLogs(sourceName: string, options?: {
|
|
54
123
|
status?: 'ok' | 'error' | 'canceled';
|
|
@@ -81,11 +150,13 @@ export interface LogsImplementation {
|
|
|
81
150
|
timeStart: string;
|
|
82
151
|
timeEnd?: string;
|
|
83
152
|
}): Promise<number>;
|
|
153
|
+
/** Query historical log events/invocations when the provider supports it. */
|
|
154
|
+
queryLogs?(sourceName: string, options: LogQueryOptions): Promise<LogQueryResult>;
|
|
84
155
|
}
|
|
85
156
|
export interface DefaultLogsImplementation {
|
|
86
157
|
generateConfig: () => InfraLogsDescriptor;
|
|
87
158
|
}
|
|
88
|
-
export declare const logsKind: import("@vibesdotdev/
|
|
159
|
+
export declare const logsKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultLogsImplementation>;
|
|
89
160
|
export type InfraLogsKind = InfraLogsDescriptor;
|
|
90
161
|
export type InfraLogsKindInput = InfraLogsDescriptorInput;
|
|
91
162
|
//# sourceMappingURL=logs.kind.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"logs.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"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"}
|
package/dist/kinds/logs.kind.js
CHANGED
|
@@ -5,28 +5,35 @@
|
|
|
5
5
|
* Provides programmatic access to logs for tailing, queries, and analytics.
|
|
6
6
|
*/
|
|
7
7
|
import * as z from 'zod/v4';
|
|
8
|
-
import { createRuntimeKind } from '@vibesdotdev/
|
|
9
|
-
import { RuntimeDescriptorSchema } from '@vibesdotdev/
|
|
10
|
-
import {
|
|
8
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
9
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
10
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
11
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
12
|
+
export { WorkerLogRequestSchema, ActiveLogStreamSchema } from "../schemas/log-stream.js";
|
|
11
13
|
const LogsBaseSchema = RuntimeDescriptorSchema.extend({
|
|
12
14
|
kind: z.literal('infra/logs'),
|
|
13
15
|
/** Adapter type (e.g., 'cloudflare-logs', 'datadog', 'splunk') */
|
|
14
16
|
adapter: z.string().min(1),
|
|
15
17
|
/** Adapter-specific configuration */
|
|
16
18
|
adapterConfig: z.record(z.string(), z.unknown()).optional(),
|
|
19
|
+
/** Optional environment scope used by adapter credential resolution. */
|
|
20
|
+
environment: z.string().optional(),
|
|
17
21
|
/** Log sources to monitor */
|
|
18
22
|
sources: z
|
|
19
23
|
.array(z.object({
|
|
20
|
-
/**
|
|
21
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Source type. `pod` is a Kubernetes workload, whose logs are read
|
|
26
|
+
* from the cluster at query time rather than declared here.
|
|
27
|
+
*/
|
|
28
|
+
type: z.enum(['worker', 'pages', 'd1', 'r2', 'kv', 'pod']),
|
|
22
29
|
/** Source name/identifier */
|
|
23
30
|
name: z.string().min(1),
|
|
24
31
|
/** Optional environment filter */
|
|
25
32
|
environment: z.string().optional()
|
|
26
33
|
}))
|
|
27
34
|
.default([]),
|
|
28
|
-
/**
|
|
29
|
-
|
|
35
|
+
/** Log-tier retention period; distinct from the runtime descriptor lifecycle policy. */
|
|
36
|
+
logRetention: z
|
|
30
37
|
.object({
|
|
31
38
|
/** Hot storage (immediately accessible) */
|
|
32
39
|
hotDays: z.number().int().positive().default(7),
|
|
@@ -51,23 +58,25 @@ const LogsBaseSchema = RuntimeDescriptorSchema.extend({
|
|
|
51
58
|
.default([])
|
|
52
59
|
});
|
|
53
60
|
export const InfraLogsDescriptorSchema = LogsBaseSchema;
|
|
61
|
+
/** Pass-through: the registered descriptor as this kind's schema reads it, never a substitute. */
|
|
54
62
|
class DefaultLogsImplementationClass {
|
|
63
|
+
descriptor;
|
|
64
|
+
context;
|
|
65
|
+
/** The descriptor as this kind's schema reads it. */
|
|
66
|
+
config;
|
|
67
|
+
constructor(descriptor, context) {
|
|
68
|
+
this.descriptor = descriptor;
|
|
69
|
+
this.context = context;
|
|
70
|
+
this.config = readKindDescriptor(InfraLogsDescriptorSchema, descriptor);
|
|
71
|
+
}
|
|
55
72
|
generateConfig() {
|
|
56
|
-
return
|
|
57
|
-
kind: 'infra/logs',
|
|
58
|
-
id: 'default-logs',
|
|
59
|
-
name: 'Default Logs',
|
|
60
|
-
adapter: 'unknown',
|
|
61
|
-
sources: [],
|
|
62
|
-
alerts: []
|
|
63
|
-
};
|
|
73
|
+
return this.config;
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
export const logsKind = createRuntimeKind({
|
|
67
77
|
id: 'infra/logs',
|
|
68
78
|
descriptorSchema: InfraLogsDescriptorSchema,
|
|
69
79
|
defaultImplementation: DefaultLogsImplementationClass,
|
|
70
|
-
|
|
71
|
-
extractStem
|
|
80
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
72
81
|
});
|
|
73
82
|
//# sourceMappingURL=logs.kind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.kind.js","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"logs.kind.js","sourceRoot":"","sources":["../../src/kinds/logs.kind.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kind: infra/nfs
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral network file storage descriptor — ReadWriteMany style
|
|
5
|
+
* shared filesystem for ML datasets, checkpoints, and Kubernetes RWX
|
|
6
|
+
* workloads.
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
10
|
+
import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
|
|
11
|
+
export declare const NfsAccessRuleSchema: z.ZodObject<{
|
|
12
|
+
cidr: z.ZodString;
|
|
13
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
14
|
+
rw: "rw";
|
|
15
|
+
ro: "ro";
|
|
16
|
+
}>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type NfsAccessRule = z.infer<typeof NfsAccessRuleSchema>;
|
|
19
|
+
/** Open adapter config: the adapter package that owns `adapter` validates the rest. */
|
|
20
|
+
export declare const NfsConfigSchema: z.ZodObject<{
|
|
21
|
+
adapter: z.ZodString;
|
|
22
|
+
}, z.core.$loose>;
|
|
23
|
+
export declare const NfsDescriptorSchema: z.ZodObject<{
|
|
24
|
+
id: z.ZodString;
|
|
25
|
+
name: z.ZodOptional<z.ZodString>;
|
|
26
|
+
description: z.ZodOptional<z.ZodString>;
|
|
27
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
35
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
39
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
40
|
+
reason: z.ZodString;
|
|
41
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>]>>;
|
|
43
|
+
kind: z.ZodLiteral<"infra/nfs">;
|
|
44
|
+
region: z.ZodOptional<z.ZodString>;
|
|
45
|
+
sizeGb: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
accessRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
47
|
+
cidr: z.ZodString;
|
|
48
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
49
|
+
rw: "rw";
|
|
50
|
+
ro: "ro";
|
|
51
|
+
}>>;
|
|
52
|
+
}, z.core.$strip>>>;
|
|
53
|
+
config: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
adapter: z.ZodString;
|
|
55
|
+
}, z.core.$loose>>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export type NfsDescriptor = z.infer<typeof NfsDescriptorSchema>;
|
|
58
|
+
declare class DefaultNfsImplementation {
|
|
59
|
+
readonly descriptor: RuntimeDescriptor;
|
|
60
|
+
readonly context: KindContext;
|
|
61
|
+
/** The descriptor as this kind's schema reads it. */
|
|
62
|
+
readonly config: NfsDescriptor;
|
|
63
|
+
constructor(descriptor: RuntimeDescriptor, context: KindContext);
|
|
64
|
+
}
|
|
65
|
+
export declare const nfsKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultNfsImplementation>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=nfs.kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nfs.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/nfs.kind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAShE,uFAAuF;AACvF,eAAO,MAAM,eAAe;;iBAAgD,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,cAAM,wBAAwB;aAIZ,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,OAAO,qFAKlB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kind: infra/nfs
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral network file storage descriptor — ReadWriteMany style
|
|
5
|
+
* shared filesystem for ML datasets, checkpoints, and Kubernetes RWX
|
|
6
|
+
* workloads.
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
10
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
11
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
12
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
13
|
+
export const NfsAccessRuleSchema = z.object({
|
|
14
|
+
cidr: z.string().min(1),
|
|
15
|
+
mode: z.enum(['rw', 'ro']).default('rw')
|
|
16
|
+
});
|
|
17
|
+
const NfsBaseSchema = RuntimeDescriptorSchema.extend({
|
|
18
|
+
kind: z.literal('infra/nfs'),
|
|
19
|
+
region: z.string().min(1).optional(),
|
|
20
|
+
sizeGb: z.number().int().positive().optional(),
|
|
21
|
+
accessRules: z.array(NfsAccessRuleSchema).optional()
|
|
22
|
+
});
|
|
23
|
+
/** Open adapter config: the adapter package that owns `adapter` validates the rest. */
|
|
24
|
+
export const NfsConfigSchema = z.looseObject({ adapter: z.string().min(1) });
|
|
25
|
+
export const NfsDescriptorSchema = NfsBaseSchema.extend({
|
|
26
|
+
config: NfsConfigSchema.optional()
|
|
27
|
+
});
|
|
28
|
+
class DefaultNfsImplementation {
|
|
29
|
+
descriptor;
|
|
30
|
+
context;
|
|
31
|
+
/** The descriptor as this kind's schema reads it. */
|
|
32
|
+
config;
|
|
33
|
+
constructor(descriptor, context) {
|
|
34
|
+
this.descriptor = descriptor;
|
|
35
|
+
this.context = context;
|
|
36
|
+
this.config = readKindDescriptor(NfsDescriptorSchema, descriptor);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export const nfsKind = createRuntimeKind({
|
|
40
|
+
id: 'infra/nfs',
|
|
41
|
+
descriptorSchema: NfsDescriptorSchema,
|
|
42
|
+
defaultImplementation: DefaultNfsImplementation,
|
|
43
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=nfs.kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nfs.kind.js","sourceRoot":"","sources":["../../src/kinds/nfs.kind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACxC,CAAC,CAAC;AAGH,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,uFAAuF;AACvF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;IACvD,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,MAAM,wBAAwB;IAIZ;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAgB;IAC/B,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;CAED;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAA0C;IACjF,EAAE,EAAE,WAAW;IACf,gBAAgB,EAAE,mBAAmB;IACrC,qBAAqB,EAAE,wBAAwB;IAC/C,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kind: infra/node-pool
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral Kubernetes node-pool descriptor. Captures autoscaling,
|
|
5
|
+
* GPU shape, device plugin flags, and a workload class used by infra
|
|
6
|
+
* profile reconcilers.
|
|
7
|
+
*
|
|
8
|
+
* `config` is an open, adapter-keyed shape (DigitalOcean's Kubernetes node
|
|
9
|
+
* pool config lives in `@vibesdotdev/integrations-digitalocean`); this kind
|
|
10
|
+
* names no provider, so a config for any adapter parses here and the
|
|
11
|
+
* adapter validates its own grammar.
|
|
12
|
+
*/
|
|
13
|
+
import * as z from 'zod/v4';
|
|
14
|
+
import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
15
|
+
import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
|
|
16
|
+
export declare const NodePoolTaintSchema: z.ZodObject<{
|
|
17
|
+
key: z.ZodString;
|
|
18
|
+
value: z.ZodString;
|
|
19
|
+
effect: z.ZodEnum<{
|
|
20
|
+
NoSchedule: "NoSchedule";
|
|
21
|
+
PreferNoSchedule: "PreferNoSchedule";
|
|
22
|
+
NoExecute: "NoExecute";
|
|
23
|
+
}>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export type NodePoolTaint = z.infer<typeof NodePoolTaintSchema>;
|
|
26
|
+
export declare const NodePoolGpuSchema: z.ZodObject<{
|
|
27
|
+
vendor: z.ZodEnum<{
|
|
28
|
+
nvidia: "nvidia";
|
|
29
|
+
amd: "amd";
|
|
30
|
+
}>;
|
|
31
|
+
model: z.ZodString;
|
|
32
|
+
count: z.ZodNumber;
|
|
33
|
+
vramGb: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export type NodePoolGpu = z.infer<typeof NodePoolGpuSchema>;
|
|
36
|
+
export declare const NodePoolDevicePluginsSchema: z.ZodObject<{
|
|
37
|
+
nvidia: z.ZodOptional<z.ZodBoolean>;
|
|
38
|
+
amd: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
amdMetrics: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export declare const NodePoolWorkloadClassSchema: z.ZodEnum<{
|
|
42
|
+
system: "system";
|
|
43
|
+
worker: "worker";
|
|
44
|
+
build: "build";
|
|
45
|
+
exec: "exec";
|
|
46
|
+
"gpu-inference": "gpu-inference";
|
|
47
|
+
"gpu-training": "gpu-training";
|
|
48
|
+
}>;
|
|
49
|
+
export type NodePoolWorkloadClass = z.infer<typeof NodePoolWorkloadClassSchema>;
|
|
50
|
+
/**
|
|
51
|
+
* Adapter-specific configuration: the adapter id plus its own fields. Each
|
|
52
|
+
* adapter package defines and parses its own config schema; this kind names
|
|
53
|
+
* no provider, so a config for any adapter — including one contributed by a
|
|
54
|
+
* user plugin — parses here, and the adapter validates its own grammar.
|
|
55
|
+
*/
|
|
56
|
+
export declare const NodePoolConfigSchema: z.ZodObject<{
|
|
57
|
+
adapter: z.ZodString;
|
|
58
|
+
}, z.core.$loose>;
|
|
59
|
+
export type NodePoolConfig = z.infer<typeof NodePoolConfigSchema>;
|
|
60
|
+
export declare const NodePoolDescriptorSchema: z.ZodObject<{
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
name: z.ZodOptional<z.ZodString>;
|
|
63
|
+
description: z.ZodOptional<z.ZodString>;
|
|
64
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
68
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
71
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
75
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
76
|
+
reason: z.ZodString;
|
|
77
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
78
|
+
}, z.core.$strip>]>>;
|
|
79
|
+
kind: z.ZodLiteral<"infra/node-pool">;
|
|
80
|
+
clusterRef: z.ZodOptional<z.ZodString>;
|
|
81
|
+
size: z.ZodOptional<z.ZodString>;
|
|
82
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
autoScale: z.ZodOptional<z.ZodBoolean>;
|
|
84
|
+
minNodes: z.ZodOptional<z.ZodNumber>;
|
|
85
|
+
maxNodes: z.ZodOptional<z.ZodNumber>;
|
|
86
|
+
autoscaleToZero: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
+
labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
88
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
89
|
+
taints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
key: z.ZodString;
|
|
91
|
+
value: z.ZodString;
|
|
92
|
+
effect: z.ZodEnum<{
|
|
93
|
+
NoSchedule: "NoSchedule";
|
|
94
|
+
PreferNoSchedule: "PreferNoSchedule";
|
|
95
|
+
NoExecute: "NoExecute";
|
|
96
|
+
}>;
|
|
97
|
+
}, z.core.$strip>>>;
|
|
98
|
+
gpu: z.ZodOptional<z.ZodObject<{
|
|
99
|
+
vendor: z.ZodEnum<{
|
|
100
|
+
nvidia: "nvidia";
|
|
101
|
+
amd: "amd";
|
|
102
|
+
}>;
|
|
103
|
+
model: z.ZodString;
|
|
104
|
+
count: z.ZodNumber;
|
|
105
|
+
vramGb: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
}, z.core.$strip>>;
|
|
107
|
+
devicePlugins: z.ZodOptional<z.ZodObject<{
|
|
108
|
+
nvidia: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
amd: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
amdMetrics: z.ZodOptional<z.ZodBoolean>;
|
|
111
|
+
}, z.core.$strip>>;
|
|
112
|
+
workloadClass: z.ZodOptional<z.ZodEnum<{
|
|
113
|
+
system: "system";
|
|
114
|
+
worker: "worker";
|
|
115
|
+
build: "build";
|
|
116
|
+
exec: "exec";
|
|
117
|
+
"gpu-inference": "gpu-inference";
|
|
118
|
+
"gpu-training": "gpu-training";
|
|
119
|
+
}>>;
|
|
120
|
+
config: z.ZodOptional<z.ZodObject<{
|
|
121
|
+
adapter: z.ZodString;
|
|
122
|
+
}, z.core.$loose>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
export type NodePoolDescriptor = z.infer<typeof NodePoolDescriptorSchema>;
|
|
125
|
+
declare class DefaultNodePoolImplementation {
|
|
126
|
+
readonly descriptor: RuntimeDescriptor;
|
|
127
|
+
readonly context: KindContext;
|
|
128
|
+
/** The descriptor as this kind's schema reads it. */
|
|
129
|
+
readonly config: NodePoolDescriptor;
|
|
130
|
+
constructor(descriptor: RuntimeDescriptor, context: KindContext);
|
|
131
|
+
}
|
|
132
|
+
export declare const nodePoolKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultNodePoolImplementation>;
|
|
133
|
+
export {};
|
|
134
|
+
//# sourceMappingURL=node-pool.kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-pool.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/node-pool.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,mBAAmB;;;;;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;EAOtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAmBhF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,cAAM,6BAA6B;aAIjB,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,YAAY,0FAKvB,CAAC"}
|