@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,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kind: infra/build-job
|
|
3
|
+
*
|
|
4
|
+
* Provider-neutral descriptor for reproducible release builds. Adapter
|
|
5
|
+
* packages map this shape onto DOKS Kubernetes Jobs, local Docker runs,
|
|
6
|
+
* Windows VM runners, or another execution substrate.
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
10
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
11
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
12
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
13
|
+
import { deploymentEnvRequirementSchema } from "../schemas.js";
|
|
14
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
15
|
+
export const BuildTargetOsSchema = z.enum(['linux', 'macos', 'windows']);
|
|
16
|
+
export const BuildTargetArchSchema = z.enum(['x64', 'arm64']);
|
|
17
|
+
export const BuildJobTargetSchema = z.object({
|
|
18
|
+
os: BuildTargetOsSchema,
|
|
19
|
+
arch: BuildTargetArchSchema,
|
|
20
|
+
libc: z.enum(['glibc', 'musl', 'msvc']).optional(),
|
|
21
|
+
format: z.string().min(1).optional()
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* A build never carries a repository password/token. It carries only enough
|
|
25
|
+
* authority metadata for the execution adapter to ask the platform broker for
|
|
26
|
+
* one operation-scoped read credential at checkout time.
|
|
27
|
+
*/
|
|
28
|
+
export const BuildJobGitAuthenticationSchema = z
|
|
29
|
+
.object({
|
|
30
|
+
mode: z.literal('brokered'),
|
|
31
|
+
provider: z.literal('vibes-forge'),
|
|
32
|
+
repositoryId: z.string().uuid(),
|
|
33
|
+
brokerOrigin: z.string().url(),
|
|
34
|
+
serviceCredential: z.object({
|
|
35
|
+
source: z.literal('secret'),
|
|
36
|
+
key: z.string().regex(/^[_A-Z0-9]+$/)
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
.strict();
|
|
40
|
+
const BuildJobGitSourceSchema = z
|
|
41
|
+
.object({
|
|
42
|
+
kind: z.literal('git'),
|
|
43
|
+
repository: z.string().min(1),
|
|
44
|
+
ref: z.string().min(1).optional(),
|
|
45
|
+
depth: z.number().int().positive().default(1),
|
|
46
|
+
checkoutDir: z.string().min(1).default('/workspace/source'),
|
|
47
|
+
authentication: BuildJobGitAuthenticationSchema.optional()
|
|
48
|
+
})
|
|
49
|
+
.strict()
|
|
50
|
+
.superRefine((source, ctx) => {
|
|
51
|
+
// SCP-style SSH repositories (`git@host:path`) are not URLs and carry no userinfo password.
|
|
52
|
+
if (!URL.canParse(source.repository))
|
|
53
|
+
return;
|
|
54
|
+
const repository = new URL(source.repository);
|
|
55
|
+
const sshTransport = repository.protocol === 'ssh:';
|
|
56
|
+
if (repository.password || (repository.username && !sshTransport)) {
|
|
57
|
+
ctx.addIssue({
|
|
58
|
+
code: 'custom',
|
|
59
|
+
path: ['repository'],
|
|
60
|
+
message: 'git source URLs must never embed credentials; SSH transport may carry only its public login name'
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
export const BuildJobSourceSchema = z.discriminatedUnion('kind', [
|
|
65
|
+
BuildJobGitSourceSchema,
|
|
66
|
+
z.object({
|
|
67
|
+
kind: z.literal('workspace'),
|
|
68
|
+
path: z.string().min(1).default('.')
|
|
69
|
+
})
|
|
70
|
+
]);
|
|
71
|
+
export const BuildJobStepSchema = z.object({
|
|
72
|
+
name: z.string().min(1),
|
|
73
|
+
run: z.string().min(1),
|
|
74
|
+
cwd: z.string().min(1).optional(),
|
|
75
|
+
shell: z.string().min(1).optional()
|
|
76
|
+
});
|
|
77
|
+
export const BuildJobArtifactSchema = z.object({
|
|
78
|
+
path: z.string().min(1),
|
|
79
|
+
name: z.string().min(1).optional(),
|
|
80
|
+
contentType: z.string().min(1).optional(),
|
|
81
|
+
required: z.boolean().default(true)
|
|
82
|
+
});
|
|
83
|
+
export const BuildJobToolRequirementSchema = z.union([
|
|
84
|
+
z.string().min(1),
|
|
85
|
+
z.object({
|
|
86
|
+
id: z.string().min(1),
|
|
87
|
+
required: z.boolean().default(true),
|
|
88
|
+
labels: z.array(z.string().min(1)).default([])
|
|
89
|
+
})
|
|
90
|
+
]);
|
|
91
|
+
export const BuildJobRequirementsSchema = z.object({
|
|
92
|
+
hostPoolId: z.string().min(1).optional(),
|
|
93
|
+
runnerLabel: z.string().min(1).optional(),
|
|
94
|
+
labels: z.array(z.string().min(1)).default([]),
|
|
95
|
+
tools: z.array(BuildJobToolRequirementSchema).default([]),
|
|
96
|
+
actions: z.array(z.string().min(1)).default([]),
|
|
97
|
+
minCpuCores: z.number().int().positive().optional(),
|
|
98
|
+
minRamMb: z.number().int().positive().optional()
|
|
99
|
+
});
|
|
100
|
+
export const BuildJobMountSchema = z.discriminatedUnion('kind', [
|
|
101
|
+
z.object({
|
|
102
|
+
kind: z.literal('git'),
|
|
103
|
+
name: z.string().min(1),
|
|
104
|
+
repository: z.string().min(1),
|
|
105
|
+
ref: z.string().min(1).optional(),
|
|
106
|
+
path: z.string().min(1),
|
|
107
|
+
mode: z.enum(['read-only', 'read-write']).default('read-only')
|
|
108
|
+
}),
|
|
109
|
+
z.object({
|
|
110
|
+
kind: z.literal('filesystem'),
|
|
111
|
+
name: z.string().min(1),
|
|
112
|
+
adapter: z.string().min(1),
|
|
113
|
+
prefix: z.string().optional(),
|
|
114
|
+
path: z.string().min(1),
|
|
115
|
+
mode: z.enum(['read-only', 'read-write']).default('read-write'),
|
|
116
|
+
sync: z.enum(['none', 'pull', 'push', 'bidirectional']).default('none')
|
|
117
|
+
}),
|
|
118
|
+
z.object({
|
|
119
|
+
kind: z.literal('artifact'),
|
|
120
|
+
name: z.string().min(1),
|
|
121
|
+
path: z.string().min(1),
|
|
122
|
+
mode: z.enum(['read-only', 'read-write']).default('read-write')
|
|
123
|
+
}),
|
|
124
|
+
z.object({
|
|
125
|
+
kind: z.literal('temp'),
|
|
126
|
+
name: z.string().min(1),
|
|
127
|
+
path: z.string().min(1),
|
|
128
|
+
sizeMb: z.number().int().positive().optional()
|
|
129
|
+
})
|
|
130
|
+
]);
|
|
131
|
+
/** Open publish target: the storage adapter package that owns `adapter` validates the rest. */
|
|
132
|
+
export const BuildJobPublishTargetSchema = z.looseObject({ adapter: z.string().min(1) });
|
|
133
|
+
export const BuildJobResourceRequirementsSchema = z.object({
|
|
134
|
+
requests: z
|
|
135
|
+
.object({
|
|
136
|
+
cpu: z.string().min(1).optional(),
|
|
137
|
+
memory: z.string().min(1).optional()
|
|
138
|
+
})
|
|
139
|
+
.optional(),
|
|
140
|
+
limits: z
|
|
141
|
+
.object({
|
|
142
|
+
cpu: z.string().min(1).optional(),
|
|
143
|
+
memory: z.string().min(1).optional()
|
|
144
|
+
})
|
|
145
|
+
.optional()
|
|
146
|
+
});
|
|
147
|
+
export const BuildJobTolerationSchema = z.object({
|
|
148
|
+
key: z.string().min(1).optional(),
|
|
149
|
+
operator: z.enum(['Exists', 'Equal']).optional(),
|
|
150
|
+
value: z.string().optional(),
|
|
151
|
+
effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute']).optional()
|
|
152
|
+
});
|
|
153
|
+
export const LocalDockerBuildJobConfigSchema = z.object({
|
|
154
|
+
adapter: z.literal('local-docker'),
|
|
155
|
+
image: z.string().min(1),
|
|
156
|
+
outputDir: z.string().min(1).default('artifacts/build-jobs')
|
|
157
|
+
});
|
|
158
|
+
export const WindowsRunnerBuildJobConfigSchema = z.object({
|
|
159
|
+
adapter: z.literal('windows-runner'),
|
|
160
|
+
provider: z.enum(['azure-vm', 'ec2-windows', 'self-hosted']).default('self-hosted'),
|
|
161
|
+
runnerLabel: z.string().min(1),
|
|
162
|
+
image: z.string().min(1).optional()
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* Fleet adapter: dispatches the descriptor to the live vibes Host Action
|
|
166
|
+
* queue (`platform.hosts.createAction`) instead of provisioning its own
|
|
167
|
+
* compute. An enrolled fleet host (`fleet-daemon`) claims the
|
|
168
|
+
* resulting `host_action_runs` row and runs it via
|
|
169
|
+
* `executeBuildJobAction` — see `@vibesdotdev/platform/fleets/build-job` for the
|
|
170
|
+
* descriptor -> `CreateHostActionRunForm` translator. `hostPoolId` /
|
|
171
|
+
* `runnerLabel` here are adapter-level placement hints that the translator
|
|
172
|
+
* overlays onto the descriptor's adapter-neutral `requirements` (both use
|
|
173
|
+
* the identical shape as `BuildJobRequirementsSchema` below).
|
|
174
|
+
*/
|
|
175
|
+
export const FleetBuildJobConfigSchema = z.object({
|
|
176
|
+
adapter: z.literal('fleet-build-job'),
|
|
177
|
+
hostPoolId: z.string().min(1).optional(),
|
|
178
|
+
runnerLabel: z.string().min(1).optional()
|
|
179
|
+
});
|
|
180
|
+
/** Open adapter config: the adapter package that owns `adapter` validates the rest. */
|
|
181
|
+
export const BuildJobConfigSchema = z.looseObject({ adapter: z.string().min(1) });
|
|
182
|
+
export const BuildJobDescriptorSchema = RuntimeDescriptorSchema.extend({
|
|
183
|
+
kind: z.literal('infra/build-job'),
|
|
184
|
+
source: BuildJobSourceSchema,
|
|
185
|
+
target: BuildJobTargetSchema,
|
|
186
|
+
steps: z.array(BuildJobStepSchema).min(1),
|
|
187
|
+
artifacts: z.array(BuildJobArtifactSchema).default([]),
|
|
188
|
+
requirements: BuildJobRequirementsSchema.optional(),
|
|
189
|
+
mounts: z.array(BuildJobMountSchema).default([]),
|
|
190
|
+
publish: BuildJobPublishTargetSchema.optional(),
|
|
191
|
+
env: z.array(deploymentEnvRequirementSchema).optional(),
|
|
192
|
+
config: BuildJobConfigSchema.optional()
|
|
193
|
+
});
|
|
194
|
+
/** Facts a build-job run reports: JSON values only. */
|
|
195
|
+
export const BuildJobRunMetadataSchema = z.record(z.string(), JsonValueSchema);
|
|
196
|
+
class DefaultBuildJobImplementation {
|
|
197
|
+
descriptor;
|
|
198
|
+
context;
|
|
199
|
+
/** The descriptor as this kind's schema reads it. */
|
|
200
|
+
config;
|
|
201
|
+
constructor(descriptor, context) {
|
|
202
|
+
this.descriptor = descriptor;
|
|
203
|
+
this.context = context;
|
|
204
|
+
this.config = readKindDescriptor(BuildJobDescriptorSchema, descriptor);
|
|
205
|
+
}
|
|
206
|
+
generateConfig(descriptor = this.config) {
|
|
207
|
+
return descriptor.config;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export const buildJobKind = createRuntimeKind({
|
|
211
|
+
id: 'infra/build-job',
|
|
212
|
+
descriptorSchema: BuildJobDescriptorSchema,
|
|
213
|
+
defaultImplementation: DefaultBuildJobImplementation,
|
|
214
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
215
|
+
});
|
|
216
|
+
//# sourceMappingURL=build-job.kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-job.kind.js","sourceRoot":"","sources":["../../src/kinds/build-job.kind.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,71 +3,32 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Describes a cache service.
|
|
5
5
|
*
|
|
6
|
-
* Schema shape: strict common base + `config
|
|
6
|
+
* Schema shape: strict common base + an open, adapter-keyed `config`.
|
|
7
7
|
*
|
|
8
8
|
* - The base defines fields universal across adapters: id/kind/name +
|
|
9
9
|
* the cache shape (engine, maxMemory, eviction, namespace).
|
|
10
10
|
* - Adapter-specific fields (region, version, numNodes, size, …)
|
|
11
|
-
* live under `config
|
|
11
|
+
* live under `config`, keyed by a non-empty `adapter` discriminator.
|
|
12
|
+
* Each adapter package defines and parses its own concrete schema
|
|
13
|
+
* (DigitalOcean managed Redis/Valkey and DOKS Redis configs live in
|
|
14
|
+
* `@vibesdotdev/integrations-digitalocean`; Cloudflare KV's in
|
|
15
|
+
* `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
|
|
16
|
+
* so a config for any adapter — including one contributed by a user
|
|
17
|
+
* plugin — parses here, and the adapter validates its own grammar.
|
|
12
18
|
*/
|
|
13
19
|
import * as z from 'zod/v4';
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
size: z.ZodOptional<z.ZodString>;
|
|
27
|
-
}, z.core.$strip>;
|
|
28
|
-
export declare const CloudflareKVCacheConfigSchema: z.ZodObject<{
|
|
29
|
-
namespace: z.ZodString;
|
|
30
|
-
}, z.core.$strip>;
|
|
31
|
-
export declare const DOKSRedisCacheConfigSchema: z.ZodObject<{
|
|
32
|
-
namespace: z.ZodDefault<z.ZodString>;
|
|
33
|
-
image: z.ZodOptional<z.ZodString>;
|
|
34
|
-
version: z.ZodDefault<z.ZodString>;
|
|
35
|
-
maxMemory: z.ZodOptional<z.ZodString>;
|
|
36
|
-
eviction: z.ZodOptional<z.ZodEnum<{
|
|
37
|
-
lru: "lru";
|
|
38
|
-
lfu: "lfu";
|
|
39
|
-
ttl: "ttl";
|
|
40
|
-
}>>;
|
|
41
|
-
storageSize: z.ZodDefault<z.ZodString>;
|
|
42
|
-
}, z.core.$strip>;
|
|
43
|
-
export declare const CacheConfigSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
44
|
-
maxMemory: z.ZodOptional<z.ZodString>;
|
|
45
|
-
eviction: z.ZodOptional<z.ZodEnum<{
|
|
46
|
-
lru: "lru";
|
|
47
|
-
lfu: "lfu";
|
|
48
|
-
ttl: "ttl";
|
|
49
|
-
}>>;
|
|
50
|
-
region: z.ZodDefault<z.ZodString>;
|
|
51
|
-
version: z.ZodDefault<z.ZodString>;
|
|
52
|
-
numNodes: z.ZodDefault<z.ZodNumber>;
|
|
53
|
-
size: z.ZodOptional<z.ZodString>;
|
|
54
|
-
adapter: z.ZodLiteral<"do-managed-redis">;
|
|
55
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
56
|
-
namespace: z.ZodString;
|
|
57
|
-
adapter: z.ZodLiteral<"cloudflare-kv">;
|
|
58
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
59
|
-
namespace: z.ZodDefault<z.ZodString>;
|
|
60
|
-
image: z.ZodOptional<z.ZodString>;
|
|
61
|
-
version: z.ZodDefault<z.ZodString>;
|
|
62
|
-
maxMemory: z.ZodOptional<z.ZodString>;
|
|
63
|
-
eviction: z.ZodOptional<z.ZodEnum<{
|
|
64
|
-
lru: "lru";
|
|
65
|
-
lfu: "lfu";
|
|
66
|
-
ttl: "ttl";
|
|
67
|
-
}>>;
|
|
68
|
-
storageSize: z.ZodDefault<z.ZodString>;
|
|
69
|
-
adapter: z.ZodLiteral<"doks-redis">;
|
|
70
|
-
}, z.core.$strip>]>;
|
|
20
|
+
import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
21
|
+
import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
|
|
22
|
+
/**
|
|
23
|
+
* Adapter-specific configuration: the adapter id plus its own fields. Each
|
|
24
|
+
* adapter package defines and parses its own config schema; this kind names
|
|
25
|
+
* no provider, so a config for any adapter — including one contributed by a
|
|
26
|
+
* user plugin — parses here, and the adapter validates its own grammar.
|
|
27
|
+
*/
|
|
28
|
+
export declare const CacheConfigSchema: z.ZodObject<{
|
|
29
|
+
adapter: z.ZodString;
|
|
30
|
+
}, z.core.$loose>;
|
|
31
|
+
export type CacheConfig = z.infer<typeof CacheConfigSchema>;
|
|
71
32
|
export declare const CacheDescriptorSchema: z.ZodObject<{
|
|
72
33
|
id: z.ZodString;
|
|
73
34
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -76,53 +37,39 @@ export declare const CacheDescriptorSchema: z.ZodObject<{
|
|
|
76
37
|
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
77
38
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
78
39
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
79
41
|
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
80
42
|
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
44
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
47
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
48
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
49
|
+
reason: z.ZodString;
|
|
50
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>]>>;
|
|
81
52
|
kind: z.ZodLiteral<"infra/cache">;
|
|
82
53
|
engine: z.ZodOptional<z.ZodString>;
|
|
83
54
|
maxMemory: z.ZodOptional<z.ZodString>;
|
|
84
55
|
eviction: z.ZodOptional<z.ZodEnum<{
|
|
56
|
+
ttl: "ttl";
|
|
85
57
|
lru: "lru";
|
|
86
58
|
lfu: "lfu";
|
|
87
|
-
ttl: "ttl";
|
|
88
59
|
}>>;
|
|
89
60
|
namespace: z.ZodOptional<z.ZodString>;
|
|
90
|
-
config: z.ZodOptional<z.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
lru: "lru";
|
|
94
|
-
lfu: "lfu";
|
|
95
|
-
ttl: "ttl";
|
|
96
|
-
}>>;
|
|
97
|
-
region: z.ZodDefault<z.ZodString>;
|
|
98
|
-
version: z.ZodDefault<z.ZodString>;
|
|
99
|
-
numNodes: z.ZodDefault<z.ZodNumber>;
|
|
100
|
-
size: z.ZodOptional<z.ZodString>;
|
|
101
|
-
adapter: z.ZodLiteral<"do-managed-redis">;
|
|
102
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
103
|
-
namespace: z.ZodString;
|
|
104
|
-
adapter: z.ZodLiteral<"cloudflare-kv">;
|
|
105
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
106
|
-
namespace: z.ZodDefault<z.ZodString>;
|
|
107
|
-
image: z.ZodOptional<z.ZodString>;
|
|
108
|
-
version: z.ZodDefault<z.ZodString>;
|
|
109
|
-
maxMemory: z.ZodOptional<z.ZodString>;
|
|
110
|
-
eviction: z.ZodOptional<z.ZodEnum<{
|
|
111
|
-
lru: "lru";
|
|
112
|
-
lfu: "lfu";
|
|
113
|
-
ttl: "ttl";
|
|
114
|
-
}>>;
|
|
115
|
-
storageSize: z.ZodDefault<z.ZodString>;
|
|
116
|
-
adapter: z.ZodLiteral<"doks-redis">;
|
|
117
|
-
}, z.core.$strip>]>>;
|
|
61
|
+
config: z.ZodOptional<z.ZodObject<{
|
|
62
|
+
adapter: z.ZodString;
|
|
63
|
+
}, z.core.$loose>>;
|
|
118
64
|
}, z.core.$strip>;
|
|
119
65
|
export type CacheDescriptor = z.infer<typeof CacheDescriptorSchema>;
|
|
120
66
|
declare class DefaultCacheImplementation {
|
|
121
67
|
readonly descriptor: RuntimeDescriptor;
|
|
122
|
-
readonly context:
|
|
123
|
-
|
|
124
|
-
|
|
68
|
+
readonly context: KindContext;
|
|
69
|
+
/** The descriptor as this kind's schema reads it. */
|
|
70
|
+
readonly config: CacheDescriptor;
|
|
71
|
+
constructor(descriptor: RuntimeDescriptor, context: KindContext);
|
|
125
72
|
}
|
|
126
|
-
export declare const cacheKind: RuntimeKindDescriptorRecord<DefaultCacheImplementation>;
|
|
73
|
+
export declare const cacheKind: import("@vibesdotdev/kernel").RuntimeKindDescriptorRecord<DefaultCacheImplementation>;
|
|
127
74
|
export {};
|
|
128
75
|
//# sourceMappingURL=cache.kind.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cache.kind.d.ts","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;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;AAoBpE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,cAAM,0BAA0B;aAId,UAAU,EAAE,iBAAiB;aAC7B,OAAO,EAAE,WAAW;IAJrC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAEhB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,WAAW;CAKrC;AAED,eAAO,MAAM,SAAS,uFAKpB,CAAC"}
|
package/dist/kinds/cache.kind.js
CHANGED
|
@@ -3,20 +3,27 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Describes a cache service.
|
|
5
5
|
*
|
|
6
|
-
* Schema shape: strict common base + `config
|
|
6
|
+
* Schema shape: strict common base + an open, adapter-keyed `config`.
|
|
7
7
|
*
|
|
8
8
|
* - The base defines fields universal across adapters: id/kind/name +
|
|
9
9
|
* the cache shape (engine, maxMemory, eviction, namespace).
|
|
10
10
|
* - Adapter-specific fields (region, version, numNodes, size, …)
|
|
11
|
-
* live under `config
|
|
11
|
+
* live under `config`, keyed by a non-empty `adapter` discriminator.
|
|
12
|
+
* Each adapter package defines and parses its own concrete schema
|
|
13
|
+
* (DigitalOcean managed Redis/Valkey and DOKS Redis configs live in
|
|
14
|
+
* `@vibesdotdev/integrations-digitalocean`; Cloudflare KV's in
|
|
15
|
+
* `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
|
|
16
|
+
* so a config for any adapter — including one contributed by a user
|
|
17
|
+
* plugin — parses here, and the adapter validates its own grammar.
|
|
12
18
|
*/
|
|
13
19
|
import * as z from 'zod/v4';
|
|
14
|
-
import { createRuntimeKind } from '@vibesdotdev/
|
|
15
|
-
import { RuntimeDescriptorSchema } from '@vibesdotdev/
|
|
16
|
-
import {
|
|
20
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
21
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
22
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
23
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
17
24
|
const CacheBaseSchema = RuntimeDescriptorSchema.extend({
|
|
18
25
|
kind: z.literal('infra/cache'),
|
|
19
|
-
/** Cache engine (e.g., '
|
|
26
|
+
/** Cache engine (e.g., 'redis'). */
|
|
20
27
|
engine: z.string().min(1).optional(),
|
|
21
28
|
/** Maximum memory hint. */
|
|
22
29
|
maxMemory: z.string().optional(),
|
|
@@ -25,66 +32,34 @@ const CacheBaseSchema = RuntimeDescriptorSchema.extend({
|
|
|
25
32
|
/** Logical namespace within the cache. */
|
|
26
33
|
namespace: z.string().optional()
|
|
27
34
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
version: z.string().min(1).default('7'),
|
|
37
|
-
/** Number of nodes (default: 1). */
|
|
38
|
-
numNodes: z.number().int().positive().default(1),
|
|
39
|
-
/** Database size tier (optional, derived from maxMemory if not set). */
|
|
40
|
-
size: z.string().min(1).optional()
|
|
41
|
-
});
|
|
42
|
-
export const CloudflareKVCacheConfigSchema = z.object({
|
|
43
|
-
/** Logical namespace within the KV store. */
|
|
44
|
-
namespace: z.string().min(1)
|
|
45
|
-
});
|
|
46
|
-
export const DOKSRedisCacheConfigSchema = z.object({
|
|
47
|
-
/** Kubernetes namespace (default: vibes). */
|
|
48
|
-
namespace: z.string().min(1).default('vibes'),
|
|
49
|
-
/** Container image (default: redis:{version}). */
|
|
50
|
-
image: z.string().min(1).optional(),
|
|
51
|
-
/** Redis version (default: 7). */
|
|
52
|
-
version: z.string().min(1).default('7'),
|
|
53
|
-
/** Max memory allocation (e.g., '256mb'). */
|
|
54
|
-
maxMemory: z.string().optional(),
|
|
55
|
-
/** Eviction policy: lru, lfu, or ttl. */
|
|
56
|
-
eviction: z.enum(['lru', 'lfu', 'ttl']).optional(),
|
|
57
|
-
/** Storage size (default: 1Gi). */
|
|
58
|
-
storageSize: z.string().min(1).default('1Gi')
|
|
35
|
+
/**
|
|
36
|
+
* Adapter-specific configuration: the adapter id plus its own fields. Each
|
|
37
|
+
* adapter package defines and parses its own config schema; this kind names
|
|
38
|
+
* no provider, so a config for any adapter — including one contributed by a
|
|
39
|
+
* user plugin — parses here, and the adapter validates its own grammar.
|
|
40
|
+
*/
|
|
41
|
+
export const CacheConfigSchema = z.looseObject({
|
|
42
|
+
adapter: z.string().min(1)
|
|
59
43
|
});
|
|
60
|
-
export const CacheConfigSchema = z.union([
|
|
61
|
-
DOManagedRedisConfigSchema.extend({ adapter: z.literal('do-managed-redis') }),
|
|
62
|
-
CloudflareKVCacheConfigSchema.extend({ adapter: z.literal('cloudflare-kv') }),
|
|
63
|
-
DOKSRedisCacheConfigSchema.extend({ adapter: z.literal('doks-redis') })
|
|
64
|
-
]);
|
|
65
44
|
export const CacheDescriptorSchema = CacheBaseSchema.extend({
|
|
66
|
-
/**
|
|
67
|
-
* Adapter-specific configuration. Discriminated union — each adapter
|
|
68
|
-
* package defines its own config schema under its discriminator key.
|
|
69
|
-
*/
|
|
45
|
+
/** Adapter-specific configuration, parsed by the adapter that owns it. */
|
|
70
46
|
config: CacheConfigSchema.optional()
|
|
71
47
|
});
|
|
72
48
|
class DefaultCacheImplementation {
|
|
73
49
|
descriptor;
|
|
74
50
|
context;
|
|
51
|
+
/** The descriptor as this kind's schema reads it. */
|
|
52
|
+
config;
|
|
75
53
|
constructor(descriptor, context) {
|
|
76
54
|
this.descriptor = descriptor;
|
|
77
55
|
this.context = context;
|
|
78
|
-
|
|
79
|
-
get config() {
|
|
80
|
-
return this.descriptor;
|
|
56
|
+
this.config = readKindDescriptor(CacheDescriptorSchema, descriptor);
|
|
81
57
|
}
|
|
82
58
|
}
|
|
83
59
|
export const cacheKind = createRuntimeKind({
|
|
84
60
|
id: 'infra/cache',
|
|
85
61
|
descriptorSchema: CacheDescriptorSchema,
|
|
86
62
|
defaultImplementation: DefaultCacheImplementation,
|
|
87
|
-
|
|
88
|
-
extractStem
|
|
63
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
89
64
|
});
|
|
90
65
|
//# sourceMappingURL=cache.kind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.kind.js","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cache.kind.js","sourceRoot":"","sources":["../../src/kinds/cache.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;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,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAE9B,oCAAoC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEpC,2BAA2B;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,uBAAuB;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAElD,0CAA0C;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC3D,0EAA0E;IAC1E,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,MAAM,0BAA0B;IAId;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAkB;IACjC,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;CAED;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,iBAAiB,CAA8C;IACvF,EAAE,EAAE,aAAa;IACjB,gBAAgB,EAAE,qBAAqB;IACvC,qBAAqB,EAAE,0BAA0B;IACjD,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}
|