@alienplatform/core 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +12 -12
- package/dist/index.d.ts +755 -72
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +199 -33
- package/dist/index.js.map +1 -1
- package/dist/stack.js +579 -44
- package/dist/stack.js.map +1 -1
- package/dist/tests/index.js +1 -1
- package/package.json +1 -1
- package/src/__tests__/__snapshots__/stack.test.ts.snap +10 -4
- package/src/__tests__/stack.test.ts +184 -2
- package/src/compute-cluster.ts +211 -0
- package/src/container.ts +38 -26
- package/src/daemon.ts +79 -0
- package/src/generated/index.ts +42 -2
- package/src/generated/schemas/architecture.json +1 -0
- package/src/generated/schemas/capacityGroup.json +1 -0
- package/src/generated/schemas/capacityGroupScalePolicy.json +1 -0
- package/src/generated/schemas/computeChoiceRange.json +1 -0
- package/src/generated/schemas/computeCluster.json +1 -0
- package/src/generated/schemas/computePoolSelection.json +1 -0
- package/src/generated/schemas/computeSettings.json +1 -0
- package/src/generated/schemas/container.json +1 -1
- package/src/generated/schemas/containerOutputs.json +1 -1
- package/src/generated/schemas/containerPort.json +1 -1
- package/src/generated/schemas/daemon.json +1 -1
- package/src/generated/schemas/daemonOutputs.json +1 -1
- package/src/generated/schemas/daemonRuntime.json +1 -0
- package/src/generated/schemas/daemonRuntimeMount.json +1 -0
- package/src/generated/schemas/exposeProtocol.json +1 -1
- package/src/generated/schemas/gpuSpec.json +1 -0
- package/src/generated/schemas/machineProfile.json +1 -0
- package/src/generated/schemas/publicEndpoint.json +1 -0
- package/src/generated/schemas/publicEndpointOutput.json +1 -0
- package/src/generated/schemas/stack.json +1 -1
- package/src/generated/schemas/stackImportRequest.json +1 -1
- package/src/generated/schemas/stackImportResponse.json +1 -1
- package/src/generated/schemas/stackInputDefaultValue.json +1 -0
- package/src/generated/schemas/stackInputDefinition.json +1 -0
- package/src/generated/schemas/stackInputEnvironmentMapping.json +1 -0
- package/src/generated/schemas/stackInputEnvironmentVariableType.json +1 -0
- package/src/generated/schemas/stackInputKind.json +1 -0
- package/src/generated/schemas/stackInputProvider.json +1 -0
- package/src/generated/schemas/stackInputValidation.json +1 -0
- package/src/generated/schemas/stackSettings.json +1 -1
- package/src/generated/schemas/worker.json +1 -1
- package/src/generated/schemas/workerOutputs.json +1 -1
- package/src/generated/schemas/workerPublicEndpoint.json +1 -0
- package/src/generated/zod/architecture-schema.ts +13 -0
- package/src/generated/zod/capacity-group-scale-policy-schema.ts +27 -0
- package/src/generated/zod/capacity-group-schema.ts +27 -0
- package/src/generated/zod/compute-choice-range-schema.ts +17 -0
- package/src/generated/zod/compute-cluster-schema.ts +20 -0
- package/src/generated/zod/compute-pool-selection-schema.ts +22 -0
- package/src/generated/zod/compute-settings-schema.ts +18 -0
- package/src/generated/zod/container-outputs-schema.ts +5 -6
- package/src/generated/zod/container-port-schema.ts +1 -5
- package/src/generated/zod/container-schema.ts +7 -3
- package/src/generated/zod/daemon-outputs-schema.ts +4 -0
- package/src/generated/zod/daemon-runtime-mount-schema.ts +14 -0
- package/src/generated/zod/daemon-runtime-schema.ts +19 -0
- package/src/generated/zod/daemon-schema.ts +14 -2
- package/src/generated/zod/expose-protocol-schema.ts +2 -2
- package/src/generated/zod/gpu-spec-schema.ts +16 -0
- package/src/generated/zod/index.ts +42 -2
- package/src/generated/zod/machine-profile-schema.ts +25 -0
- package/src/generated/zod/public-endpoint-output-schema.ts +21 -0
- package/src/generated/zod/public-endpoint-schema.ts +22 -0
- package/src/generated/zod/stack-import-request-schema.ts +3 -0
- package/src/generated/zod/stack-input-default-value-schema.ts +25 -0
- package/src/generated/zod/stack-input-definition-schema.ts +43 -0
- package/src/generated/zod/stack-input-environment-mapping-schema.ts +20 -0
- package/src/generated/zod/stack-input-environment-variable-type-schema.ts +13 -0
- package/src/generated/zod/stack-input-kind-schema.ts +13 -0
- package/src/generated/zod/stack-input-provider-schema.ts +13 -0
- package/src/generated/zod/stack-input-validation-schema.ts +23 -0
- package/src/generated/zod/stack-schema.ts +4 -0
- package/src/generated/zod/stack-settings-schema.ts +5 -1
- package/src/generated/zod/worker-outputs-schema.ts +4 -5
- package/src/generated/zod/worker-public-endpoint-schema.ts +17 -0
- package/src/generated/zod/worker-schema.ts +4 -4
- package/src/index.ts +9 -0
- package/src/input.ts +380 -0
- package/src/stack.ts +19 -0
- package/src/worker.ts +24 -14
- package/src/generated/schemas/ingress.json +0 -1
- package/src/generated/zod/ingress-schema.ts +0 -13
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { CapacityGroupScalePolicySchema } from "./capacity-group-scale-policy-schema.js";
|
|
8
|
+
import { MachineProfileSchema } from "./machine-profile-schema.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @description Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).
|
|
12
|
+
*/
|
|
13
|
+
export const CapacityGroupSchema = z.object({
|
|
14
|
+
"groupId": z.string().describe("Unique identifier for this capacity group (must be lowercase alphanumeric with hyphens)"),
|
|
15
|
+
"instanceType": z.string().describe("Provider machine selected at deployment time.\n`alien.ts` should declare portable requirements; preflight materialization\nfills this field from `StackSettings.compute`.").nullish(),
|
|
16
|
+
"maxSize": z.int().min(0).describe("Maximum number of machines (must be ≤ 10)"),
|
|
17
|
+
"minSize": z.int().min(0).describe("Minimum number of machines (can be 0 for scale-to-zero)"),
|
|
18
|
+
"nestedVirtualization": z.boolean().describe("Require instance types that expose nested virtualization (VT-x/EPT)\nto guest VMs. This is needed by workloads that boot nested VMs inside\ncontainers.\nWhen true, the controller's instance-type selector is constrained\nto a vetted nested-virt-capable allowlist.").nullish(),
|
|
19
|
+
get "profile"(){
|
|
20
|
+
return z.union([MachineProfileSchema, z.null()]).optional()
|
|
21
|
+
},
|
|
22
|
+
get "scalePolicy"(){
|
|
23
|
+
return z.union([CapacityGroupScalePolicySchema, z.null()]).optional()
|
|
24
|
+
}
|
|
25
|
+
}).describe("Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).")
|
|
26
|
+
|
|
27
|
+
export type CapacityGroup = z.infer<typeof CapacityGroupSchema>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description Allowed range and default for a count selected by the installer.
|
|
10
|
+
*/
|
|
11
|
+
export const ComputeChoiceRangeSchema = z.object({
|
|
12
|
+
"default": z.int().min(0).describe("Default value recommended when no installer override is supplied."),
|
|
13
|
+
"max": z.int().min(0).describe("Highest allowed value."),
|
|
14
|
+
"min": z.int().min(0).describe("Lowest allowed value.")
|
|
15
|
+
}).describe("Allowed range and default for a count selected by the installer.")
|
|
16
|
+
|
|
17
|
+
export type ComputeChoiceRange = z.infer<typeof ComputeChoiceRangeSchema>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { CapacityGroupSchema } from "./capacity-group-schema.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @description ComputeCluster resource for running long-running container workloads.\n\nA ComputeCluster provides the setup-owned machine boundary for containers.\nAlien may manage the worker fleet inside that boundary when setup grants\n`compute-cluster/management`.\n\n## Architecture\n\n- **Setup** creates cloud resources: ASGs/MIGs/VMSSs, IAM roles, security groups\n- **Alien** manages allowed fleet operations: machine count and runtime\n machine image rollout\n- A node agent runs on each machine from the selected runtime image channel\n\n## Example\n\n```rust\nuse alien_core::{CapacityGroup, ComputeCluster, MachineProfile};\n\nlet cluster = ComputeCluster::new(\"compute\".to_string())\n .capacity_group(CapacityGroup {\n group_id: \"general\".to_string(),\n instance_type: None,\n profile: Some(MachineProfile {\n cpu: \"4.0\".to_string(),\n memory_bytes: 16 * 1024 * 1024 * 1024,\n ephemeral_storage_bytes: 20 * 1024 * 1024 * 1024,\n architecture: None,\n gpu: None,\n }),\n min_size: 1,\n max_size: 5,\n scale_policy: None,\n nested_virtualization: None,\n })\n .build();\n```
|
|
11
|
+
*/
|
|
12
|
+
export const ComputeClusterSchema = z.object({
|
|
13
|
+
get "capacityGroups"(){
|
|
14
|
+
return z.array(CapacityGroupSchema.describe("Capacity group definition.\n\nA capacity group represents machines with identical hardware profiles.\nEach group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP),\nor VM Scale Set (Azure).")).describe("Capacity groups defining the machine pools for this cluster.\nEach group becomes a separate ASG/MIG/VMSS.")
|
|
15
|
+
},
|
|
16
|
+
"containerCidr": z.string().describe("Container CIDR block for internal container networking.\nAuto-generated as \"10.244.0.0/16\" if not specified.\nEach machine gets a /24 subnet from this range.").nullish(),
|
|
17
|
+
"id": z.string().describe("Unique identifier for the container cluster.\nMust contain only alphanumeric characters, hyphens, and underscores.")
|
|
18
|
+
}).describe("ComputeCluster resource for running long-running container workloads.\n\nA ComputeCluster provides the setup-owned machine boundary for containers.\nAlien may manage the worker fleet inside that boundary when setup grants\n`compute-cluster/management`.\n\n## Architecture\n\n- **Setup** creates cloud resources: ASGs/MIGs/VMSSs, IAM roles, security groups\n- **Alien** manages allowed fleet operations: machine count and runtime\n machine image rollout\n- A node agent runs on each machine from the selected runtime image channel\n\n## Example\n\n```rust\nuse alien_core::{CapacityGroup, ComputeCluster, MachineProfile};\n\nlet cluster = ComputeCluster::new(\"compute\".to_string())\n .capacity_group(CapacityGroup {\n group_id: \"general\".to_string(),\n instance_type: None,\n profile: Some(MachineProfile {\n cpu: \"4.0\".to_string(),\n memory_bytes: 16 * 1024 * 1024 * 1024,\n ephemeral_storage_bytes: 20 * 1024 * 1024 * 1024,\n architecture: None,\n gpu: None,\n }),\n min_size: 1,\n max_size: 5,\n scale_policy: None,\n nested_virtualization: None,\n })\n .build();\n```")
|
|
19
|
+
|
|
20
|
+
export type ComputeCluster = z.infer<typeof ComputeClusterSchema>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description User-selected deployment settings for one compute pool.
|
|
10
|
+
*/
|
|
11
|
+
export const ComputePoolSelectionSchema = z.union([z.object({
|
|
12
|
+
"machine": z.string().describe("Provider machine type selected for this deployment.").nullish(),
|
|
13
|
+
"machines": z.int().min(0).describe("Number of machines to run."),
|
|
14
|
+
"mode": z.enum(["fixed"])
|
|
15
|
+
}), z.object({
|
|
16
|
+
"machine": z.string().describe("Provider machine type selected for this deployment.").nullish(),
|
|
17
|
+
"max": z.int().min(0).describe("Maximum machine count."),
|
|
18
|
+
"min": z.int().min(0).describe("Minimum machine count."),
|
|
19
|
+
"mode": z.enum(["autoscale"])
|
|
20
|
+
})]).describe("User-selected deployment settings for one compute pool.")
|
|
21
|
+
|
|
22
|
+
export type ComputePoolSelection = z.infer<typeof ComputePoolSelectionSchema>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { ComputePoolSelectionSchema } from "./compute-pool-selection-schema.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @description Deployment-time compute choices for Alien-managed compute pools.\n\nApplication source declares portable pool requirements. This settings\nobject stores the concrete choices made for one deployment, such as the\nprovider machine type and selected machine counts.
|
|
11
|
+
*/
|
|
12
|
+
export const ComputeSettingsSchema = z.object({
|
|
13
|
+
"pools": z.optional(z.object({
|
|
14
|
+
|
|
15
|
+
}).catchall(z.lazy(() => ComputePoolSelectionSchema).describe("User-selected deployment settings for one compute pool.")).describe("Selected compute choices keyed by pool ID."))
|
|
16
|
+
}).describe("Deployment-time compute choices for Alien-managed compute pools.\n\nApplication source declares portable pool requirements. This settings\nobject stores the concrete choices made for one deployment, such as the\nprovider machine type and selected machine counts.")
|
|
17
|
+
|
|
18
|
+
export type ComputeSettings = z.infer<typeof ComputeSettingsSchema>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import * as z from "zod";
|
|
7
7
|
import { ContainerStatusSchema } from "./container-status-schema.js";
|
|
8
|
-
import {
|
|
8
|
+
import { PublicEndpointOutputSchema } from "./public-endpoint-output-schema.js";
|
|
9
9
|
import { ReplicaStatusSchema } from "./replica-status-schema.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -15,17 +15,16 @@ export const ContainerOutputsSchema = z.object({
|
|
|
15
15
|
"currentReplicas": z.int().min(0).describe("Number of current replicas"),
|
|
16
16
|
"desiredReplicas": z.int().min(0).describe("Desired number of replicas"),
|
|
17
17
|
"internalDns": z.string().describe("Internal DNS name (e.g., \"api.svc\")"),
|
|
18
|
-
get "loadBalancerEndpoint"(){
|
|
19
|
-
return z.union([LoadBalancerEndpointSchema, z.null()]).optional()
|
|
20
|
-
},
|
|
21
18
|
"name": z.string().describe("Container name in the managed container backend"),
|
|
19
|
+
"publicEndpoints": z.optional(z.object({
|
|
20
|
+
|
|
21
|
+
}).catchall(z.lazy(() => PublicEndpointOutputSchema).describe("Runtime-resolved public endpoint metadata.")).describe("Public endpoints resolved for this container.")),
|
|
22
22
|
get "replicas"(){
|
|
23
23
|
return z.array(ReplicaStatusSchema.describe("Status of a single container replica.")).describe("Status of each replica")
|
|
24
24
|
},
|
|
25
25
|
get "status"(){
|
|
26
26
|
return ContainerStatusSchema.describe("Container status in the managed container backend.")
|
|
27
|
-
}
|
|
28
|
-
"url": z.string().describe("Public URL (if exposed publicly)").nullish()
|
|
27
|
+
}
|
|
29
28
|
}).describe("Outputs generated by a successfully provisioned Container.")
|
|
30
29
|
|
|
31
30
|
export type ContainerOutputs = z.infer<typeof ContainerOutputsSchema>
|
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import * as z from "zod";
|
|
7
|
-
import { ExposeProtocolSchema } from "./expose-protocol-schema.js";
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* @description Container port configuration.
|
|
11
10
|
*/
|
|
12
11
|
export const ContainerPortSchema = z.object({
|
|
13
|
-
|
|
14
|
-
return z.union([ExposeProtocolSchema, z.null()]).optional()
|
|
15
|
-
},
|
|
16
|
-
"port": z.int().min(0).describe("Port number")
|
|
12
|
+
"port": z.int().min(0).describe("Port number")
|
|
17
13
|
}).describe("Container port configuration.")
|
|
18
14
|
|
|
19
15
|
export type ContainerPort = z.infer<typeof ContainerPortSchema>
|
|
@@ -10,11 +10,12 @@ import { ContainerGpuSpecSchema } from "./container-gpu-spec-schema.js";
|
|
|
10
10
|
import { ContainerPortSchema } from "./container-port-schema.js";
|
|
11
11
|
import { HealthCheckSchema } from "./health-check-schema.js";
|
|
12
12
|
import { PersistentStorageSchema } from "./persistent-storage-schema.js";
|
|
13
|
+
import { PublicEndpointSchema } from "./public-endpoint-schema.js";
|
|
13
14
|
import { ResourceRefSchema } from "./resource-ref-schema.js";
|
|
14
15
|
import { ResourceSpecSchema } from "./resource-spec-schema.js";
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
|
-
* @description Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling,
|
|
18
|
+
* @description Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, PublicEndpoint, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .public_endpoint(PublicEndpoint {\n name: \"api\".to_string(),\n port: 8080,\n protocol: ExposeProtocol::Http,\n host_label: None,\n wildcard_subdomains: false,\n })\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```
|
|
18
19
|
*/
|
|
19
20
|
export const ContainerSchema = z.object({
|
|
20
21
|
get "autoscaling"(){
|
|
@@ -51,10 +52,13 @@ get "persistentStorage"(){
|
|
|
51
52
|
},
|
|
52
53
|
"pool": z.string().describe("Capacity group to run on (must exist in the cluster)\nIf not specified, containers are scheduled to any available group.").nullish(),
|
|
53
54
|
get "ports"(){
|
|
54
|
-
return z.array(ContainerPortSchema.describe("Container port configuration.")).describe("
|
|
55
|
+
return z.array(ContainerPortSchema.describe("Container port configuration.")).describe("Internal container ports (at least one required).")
|
|
56
|
+
},
|
|
57
|
+
get "publicEndpoints"(){
|
|
58
|
+
return z.array(PublicEndpointSchema.describe("Public endpoint configuration for port-backed workload resources.")).describe("Public endpoints exposed by the container.")
|
|
55
59
|
},
|
|
56
60
|
"replicas": z.int().min(0).describe("Fixed replica count (for stateful containers or stateless without autoscaling)").nullish(),
|
|
57
61
|
"stateful": z.optional(z.boolean().describe("Whether container is stateful (gets stable ordinals, optional persistent volumes)"))
|
|
58
|
-
}).describe("Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling,
|
|
62
|
+
}).describe("Container resource for running long-running container workloads.\n\nA Container defines a deployable unit that runs on a ComputeCluster.\nThe managed container backend handles scheduling replicas across machines,\nautoscaling based on various metrics, and service discovery.\n\n## Example\n\n```rust\nuse alien_core::{Container, ContainerCode, ResourceSpec, ContainerAutoscaling, PublicEndpoint, ExposeProtocol};\n\nlet container = Container::new(\"api\".to_string())\n .cluster(\"compute\".to_string())\n .code(ContainerCode::Image {\n image: \"myapp:latest\".to_string(),\n })\n .cpu(ResourceSpec { min: \"0.5\".to_string(), desired: \"1\".to_string() })\n .memory(ResourceSpec { min: \"512Mi\".to_string(), desired: \"1Gi\".to_string() })\n .port(8080)\n .public_endpoint(PublicEndpoint {\n name: \"api\".to_string(),\n port: 8080,\n protocol: ExposeProtocol::Http,\n host_label: None,\n wildcard_subdomains: false,\n })\n .autoscaling(ContainerAutoscaling {\n min: 2,\n desired: 3,\n max: 10,\n target_cpu_percent: Some(70.0),\n target_memory_percent: None,\n target_http_in_flight_per_replica: Some(100),\n max_http_p95_latency_ms: None,\n })\n .permissions(\"container-execution\".to_string())\n .build();\n```")
|
|
59
63
|
|
|
60
64
|
export type Container = z.infer<typeof ContainerSchema>
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import * as z from "zod";
|
|
7
|
+
import { PublicEndpointOutputSchema } from "./public-endpoint-output-schema.js";
|
|
7
8
|
|
|
8
9
|
export const DaemonOutputsSchema = z.object({
|
|
9
10
|
"daemonName": z.string(),
|
|
11
|
+
"publicEndpoints": z.optional(z.object({
|
|
12
|
+
|
|
13
|
+
}).catchall(z.lazy(() => PublicEndpointOutputSchema).describe("Runtime-resolved public endpoint metadata."))),
|
|
10
14
|
"running": z.boolean()
|
|
11
15
|
})
|
|
12
16
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
|
|
8
|
+
export const DaemonRuntimeMountSchema = z.object({
|
|
9
|
+
"options": z.string().describe("Optional mount options understood by the backend runtime.").nullish(),
|
|
10
|
+
"source": z.string().describe("Absolute host path to mount into the daemon container."),
|
|
11
|
+
"target": z.string().describe("Absolute container path where the source is mounted.")
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
export type DaemonRuntimeMount = z.infer<typeof DaemonRuntimeMountSchema>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { DaemonRuntimeMountSchema } from "./daemon-runtime-mount-schema.js";
|
|
8
|
+
|
|
9
|
+
export const DaemonRuntimeSchema = z.object({
|
|
10
|
+
get "mounts"(){
|
|
11
|
+
return z.array(DaemonRuntimeMountSchema).describe("Host mounts exposed to the daemon container.").optional()
|
|
12
|
+
},
|
|
13
|
+
"networkMode": z.string().describe("Network mode. Supported values are `host` and `appnet`.").nullish(),
|
|
14
|
+
"pidNamespace": z.string().describe("Process namespace mode. Supported values are `host` and `private`.").nullish(),
|
|
15
|
+
"privileged": z.boolean().describe("Run the daemon container with elevated host capabilities.").nullish(),
|
|
16
|
+
"user": z.string().describe("Runtime user, as a numeric uid or uid:gid string.").nullish()
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
export type DaemonRuntime = z.infer<typeof DaemonRuntimeSchema>
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
import * as z from "zod";
|
|
7
7
|
import { DaemonCodeSchema } from "./daemon-code-schema.js";
|
|
8
|
+
import { DaemonRuntimeSchema } from "./daemon-runtime-schema.js";
|
|
9
|
+
import { HealthCheckSchema } from "./health-check-schema.js";
|
|
10
|
+
import { PublicEndpointSchema } from "./public-endpoint-schema.js";
|
|
8
11
|
import { ResourceRefSchema } from "./resource-ref-schema.js";
|
|
9
12
|
import { ResourceSpecSchema } from "./resource-spec-schema.js";
|
|
10
13
|
|
|
11
14
|
export const DaemonSchema = z.object({
|
|
12
|
-
"cluster": z.string().describe("ComputeCluster resource ID that this daemon runs on for
|
|
15
|
+
"cluster": z.string().describe("ComputeCluster resource ID that this daemon runs on for managed cloud\ncompute backends. Kubernetes and Local runtimes ignore this field.").nullish(),
|
|
13
16
|
get "code"(){
|
|
14
17
|
return DaemonCodeSchema
|
|
15
18
|
},
|
|
@@ -21,6 +24,9 @@ get "cpu"(){
|
|
|
21
24
|
"environment": z.optional(z.object({
|
|
22
25
|
|
|
23
26
|
}).catchall(z.string())),
|
|
27
|
+
get "healthCheck"(){
|
|
28
|
+
return z.union([HealthCheckSchema, z.null()]).optional()
|
|
29
|
+
},
|
|
24
30
|
"id": z.string(),
|
|
25
31
|
get "links"(){
|
|
26
32
|
return z.array(ResourceRefSchema.describe("New ResourceRef that works with any resource type.\nThis can eventually replace the enum-based ResourceRef for full extensibility."))
|
|
@@ -29,7 +35,13 @@ get "memory"(){
|
|
|
29
35
|
return ResourceSpecSchema.describe("Resource specification with min/desired values.").optional()
|
|
30
36
|
},
|
|
31
37
|
"permissions": z.string(),
|
|
32
|
-
"pool": z.string().describe("Capacity group/pool to run on for backends that expose machine pools.").nullish()
|
|
38
|
+
"pool": z.string().describe("Capacity group/pool to run on for backends that expose machine pools.").nullish(),
|
|
39
|
+
get "publicEndpoints"(){
|
|
40
|
+
return z.array(PublicEndpointSchema.describe("Public endpoint configuration for port-backed workload resources.")).describe("Public endpoints exposed by the daemon.")
|
|
41
|
+
},
|
|
42
|
+
get "runtime"(){
|
|
43
|
+
return z.union([DaemonRuntimeSchema, z.null()]).optional()
|
|
44
|
+
}
|
|
33
45
|
})
|
|
34
46
|
|
|
35
47
|
export type Daemon = z.infer<typeof DaemonSchema>
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
import * as z from "zod";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* @description Protocol for
|
|
9
|
+
* @description Protocol for public workload endpoints.
|
|
10
10
|
*/
|
|
11
|
-
export const ExposeProtocolSchema = z.enum(["http", "tcp"]).describe("Protocol for
|
|
11
|
+
export const ExposeProtocolSchema = z.enum(["http", "tcp"]).describe("Protocol for public workload endpoints.")
|
|
12
12
|
|
|
13
13
|
export type ExposeProtocol = z.infer<typeof ExposeProtocolSchema>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description GPU specification for a capacity group.
|
|
10
|
+
*/
|
|
11
|
+
export const GpuSpecSchema = z.object({
|
|
12
|
+
"count": z.int().min(0).describe("Number of GPUs per machine"),
|
|
13
|
+
"type": z.string().describe("GPU type identifier (e.g., \"nvidia-a100\", \"nvidia-t4\")")
|
|
14
|
+
}).describe("GPU specification for a capacity group.")
|
|
15
|
+
|
|
16
|
+
export type GpuSpec = z.infer<typeof GpuSpecSchema>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { AgentStatus } from "./agent-status-schema.js";
|
|
2
2
|
export type { AlienError } from "./alien-error-schema.js";
|
|
3
3
|
export type { AlienEvent } from "./alien-event-schema.js";
|
|
4
|
+
export type { Architecture } from "./architecture-schema.js";
|
|
4
5
|
export type { ArtifactRegistryHeartbeatData } from "./artifact-registry-heartbeat-data-schema.js";
|
|
5
6
|
export type { ArtifactRegistryHeartbeatStatus } from "./artifact-registry-heartbeat-status-schema.js";
|
|
6
7
|
export type { ArtifactRegistryOutputs } from "./artifact-registry-outputs-schema.js";
|
|
@@ -86,6 +87,8 @@ export type { BuildHeartbeatStatus } from "./build-heartbeat-status-schema.js";
|
|
|
86
87
|
export type { BuildOutputs } from "./build-outputs-schema.js";
|
|
87
88
|
export type { Build } from "./build-schema.js";
|
|
88
89
|
export type { BuildStatus } from "./build-status-schema.js";
|
|
90
|
+
export type { CapacityGroupScalePolicy } from "./capacity-group-scale-policy-schema.js";
|
|
91
|
+
export type { CapacityGroup } from "./capacity-group-schema.js";
|
|
89
92
|
export type { CommandResponse } from "./command-response-schema.js";
|
|
90
93
|
export type { CommandState } from "./command-state-schema.js";
|
|
91
94
|
export type { CommandStatusResponse } from "./command-status-response-schema.js";
|
|
@@ -93,8 +96,12 @@ export type { ComputeCapacityBlockerCategory } from "./compute-capacity-blocker-
|
|
|
93
96
|
export type { ComputeCapacityBlocker } from "./compute-capacity-blocker-schema.js";
|
|
94
97
|
export type { ComputeCapacityGroupStatus } from "./compute-capacity-group-status-schema.js";
|
|
95
98
|
export type { ComputeCapacityRecommendation } from "./compute-capacity-recommendation-schema.js";
|
|
99
|
+
export type { ComputeChoiceRange } from "./compute-choice-range-schema.js";
|
|
96
100
|
export type { ComputeClusterHeartbeatData } from "./compute-cluster-heartbeat-data-schema.js";
|
|
97
101
|
export type { ComputeClusterHeartbeatStatus } from "./compute-cluster-heartbeat-status-schema.js";
|
|
102
|
+
export type { ComputeCluster } from "./compute-cluster-schema.js";
|
|
103
|
+
export type { ComputePoolSelection } from "./compute-pool-selection-schema.js";
|
|
104
|
+
export type { ComputeSettings } from "./compute-settings-schema.js";
|
|
98
105
|
export type { ComputeType } from "./compute-type-schema.js";
|
|
99
106
|
export type { ContainerAutoscaling } from "./container-autoscaling-schema.js";
|
|
100
107
|
export type { ContainerCode } from "./container-code-schema.js";
|
|
@@ -111,6 +118,8 @@ export type { CustomDomainConfig } from "./custom-domain-config-schema.js";
|
|
|
111
118
|
export type { DaemonCode } from "./daemon-code-schema.js";
|
|
112
119
|
export type { DaemonHeartbeatData } from "./daemon-heartbeat-data-schema.js";
|
|
113
120
|
export type { DaemonOutputs } from "./daemon-outputs-schema.js";
|
|
121
|
+
export type { DaemonRuntimeMount } from "./daemon-runtime-mount-schema.js";
|
|
122
|
+
export type { DaemonRuntime } from "./daemon-runtime-schema.js";
|
|
114
123
|
export type { Daemon } from "./daemon-schema.js";
|
|
115
124
|
export type { DeploymentModel } from "./deployment-model-schema.js";
|
|
116
125
|
export type { DeploymentStatus } from "./deployment-status-schema.js";
|
|
@@ -151,6 +160,7 @@ export type { GcpStorageImportData } from "./gcp-storage-import-data-schema.js";
|
|
|
151
160
|
export type { GcpVaultImportData } from "./gcp-vault-import-data-schema.js";
|
|
152
161
|
export type { GcpVpcNetworkHeartbeatData } from "./gcp-vpc-network-heartbeat-data-schema.js";
|
|
153
162
|
export type { GcpWorkerImportData } from "./gcp-worker-import-data-schema.js";
|
|
163
|
+
export type { GpuSpec } from "./gpu-spec-schema.js";
|
|
154
164
|
export type { HealthCheck } from "./health-check-schema.js";
|
|
155
165
|
export type { HeartbeatBackend } from "./heartbeat-backend-schema.js";
|
|
156
166
|
export type { HeartbeatCollectionIssueReason } from "./heartbeat-collection-issue-reason-schema.js";
|
|
@@ -162,7 +172,6 @@ export type { HorizonWorkloadSchedulingMode } from "./horizon-workload-schedulin
|
|
|
162
172
|
export type { HttpMethod } from "./http-method-schema.js";
|
|
163
173
|
export type { ImportSourceKind } from "./import-source-kind-schema.js";
|
|
164
174
|
export type { ImportedResource } from "./imported-resource-schema.js";
|
|
165
|
-
export type { Ingress } from "./ingress-schema.js";
|
|
166
175
|
export type { KubernetesBuildHeartbeatData } from "./kubernetes-build-heartbeat-data-schema.js";
|
|
167
176
|
export type { KubernetesCertificateMode } from "./kubernetes-certificate-mode-schema.js";
|
|
168
177
|
export type { KubernetesCloudReference } from "./kubernetes-cloud-reference-schema.js";
|
|
@@ -217,6 +226,7 @@ export type { LocalServiceAccountHeartbeatData } from "./local-service-account-h
|
|
|
217
226
|
export type { LocalStorageHeartbeatData } from "./local-storage-heartbeat-data-schema.js";
|
|
218
227
|
export type { LocalVaultHeartbeatData } from "./local-vault-heartbeat-data-schema.js";
|
|
219
228
|
export type { LocalWorkerHeartbeatData } from "./local-worker-heartbeat-data-schema.js";
|
|
229
|
+
export type { MachineProfile } from "./machine-profile-schema.js";
|
|
220
230
|
export type { ManagedRuntimeEventInvolvedObject } from "./managed-runtime-event-involved-object-schema.js";
|
|
221
231
|
export type { ManagedRuntimeEventSnapshot } from "./managed-runtime-event-snapshot-schema.js";
|
|
222
232
|
export type { ManagedRuntimeEventSource } from "./managed-runtime-event-source-schema.js";
|
|
@@ -245,6 +255,8 @@ export type { PresignedRequestBackend } from "./presigned-request-backend-schema
|
|
|
245
255
|
export type { PresignedRequest } from "./presigned-request-schema.js";
|
|
246
256
|
export type { ProviderFleetStatus } from "./provider-fleet-status-schema.js";
|
|
247
257
|
export type { ProviderLifecycleState } from "./provider-lifecycle-state-schema.js";
|
|
258
|
+
export type { PublicEndpointOutput } from "./public-endpoint-output-schema.js";
|
|
259
|
+
export type { PublicEndpoint } from "./public-endpoint-schema.js";
|
|
248
260
|
export type { PushProgress } from "./push-progress-schema.js";
|
|
249
261
|
export type { QueueHeartbeatData } from "./queue-heartbeat-data-schema.js";
|
|
250
262
|
export type { QueueHeartbeatStatus } from "./queue-heartbeat-status-schema.js";
|
|
@@ -278,6 +290,13 @@ export type { ServiceActivationHeartbeatData } from "./service-activation-heartb
|
|
|
278
290
|
export type { ServiceActivationHeartbeatStatus } from "./service-activation-heartbeat-status-schema.js";
|
|
279
291
|
export type { StackImportRequest } from "./stack-import-request-schema.js";
|
|
280
292
|
export type { StackImportResponse } from "./stack-import-response-schema.js";
|
|
293
|
+
export type { StackInputDefaultValue } from "./stack-input-default-value-schema.js";
|
|
294
|
+
export type { StackInputDefinition } from "./stack-input-definition-schema.js";
|
|
295
|
+
export type { StackInputEnvironmentMapping } from "./stack-input-environment-mapping-schema.js";
|
|
296
|
+
export type { StackInputEnvironmentVariableType } from "./stack-input-environment-variable-type-schema.js";
|
|
297
|
+
export type { StackInputKind } from "./stack-input-kind-schema.js";
|
|
298
|
+
export type { StackInputProvider } from "./stack-input-provider-schema.js";
|
|
299
|
+
export type { StackInputValidation } from "./stack-input-validation-schema.js";
|
|
281
300
|
export type { StackRef } from "./stack-ref-schema.js";
|
|
282
301
|
export type { StackResourceState } from "./stack-resource-state-schema.js";
|
|
283
302
|
export type { Stack } from "./stack-schema.js";
|
|
@@ -306,6 +325,7 @@ export type { Vault } from "./vault-schema.js";
|
|
|
306
325
|
export type { WorkerCode } from "./worker-code-schema.js";
|
|
307
326
|
export type { WorkerHeartbeatData } from "./worker-heartbeat-data-schema.js";
|
|
308
327
|
export type { WorkerOutputs } from "./worker-outputs-schema.js";
|
|
328
|
+
export type { WorkerPublicEndpoint } from "./worker-public-endpoint-schema.js";
|
|
309
329
|
export type { Worker } from "./worker-schema.js";
|
|
310
330
|
export type { WorkerTrigger } from "./worker-trigger-schema.js";
|
|
311
331
|
export type { WorkloadHeartbeatStatus } from "./workload-heartbeat-status-schema.js";
|
|
@@ -313,6 +333,7 @@ export type { WorkloadReplicaStatus } from "./workload-replica-status-schema.js"
|
|
|
313
333
|
export { AgentStatusSchema } from "./agent-status-schema.js";
|
|
314
334
|
export { AlienErrorSchema } from "./alien-error-schema.js";
|
|
315
335
|
export { AlienEventSchema } from "./alien-event-schema.js";
|
|
336
|
+
export { ArchitectureSchema } from "./architecture-schema.js";
|
|
316
337
|
export { ArtifactRegistryHeartbeatDataSchema } from "./artifact-registry-heartbeat-data-schema.js";
|
|
317
338
|
export { ArtifactRegistryHeartbeatStatusSchema } from "./artifact-registry-heartbeat-status-schema.js";
|
|
318
339
|
export { ArtifactRegistryOutputsSchema } from "./artifact-registry-outputs-schema.js";
|
|
@@ -398,6 +419,8 @@ export { BuildHeartbeatStatusSchema } from "./build-heartbeat-status-schema.js";
|
|
|
398
419
|
export { BuildOutputsSchema } from "./build-outputs-schema.js";
|
|
399
420
|
export { BuildSchema } from "./build-schema.js";
|
|
400
421
|
export { BuildStatusSchema } from "./build-status-schema.js";
|
|
422
|
+
export { CapacityGroupScalePolicySchema } from "./capacity-group-scale-policy-schema.js";
|
|
423
|
+
export { CapacityGroupSchema } from "./capacity-group-schema.js";
|
|
401
424
|
export { CommandResponseSchema } from "./command-response-schema.js";
|
|
402
425
|
export { CommandStateSchema } from "./command-state-schema.js";
|
|
403
426
|
export { CommandStatusResponseSchema } from "./command-status-response-schema.js";
|
|
@@ -405,8 +428,12 @@ export { ComputeCapacityBlockerCategorySchema } from "./compute-capacity-blocker
|
|
|
405
428
|
export { ComputeCapacityBlockerSchema } from "./compute-capacity-blocker-schema.js";
|
|
406
429
|
export { ComputeCapacityGroupStatusSchema } from "./compute-capacity-group-status-schema.js";
|
|
407
430
|
export { ComputeCapacityRecommendationSchema } from "./compute-capacity-recommendation-schema.js";
|
|
431
|
+
export { ComputeChoiceRangeSchema } from "./compute-choice-range-schema.js";
|
|
408
432
|
export { ComputeClusterHeartbeatDataSchema } from "./compute-cluster-heartbeat-data-schema.js";
|
|
409
433
|
export { ComputeClusterHeartbeatStatusSchema } from "./compute-cluster-heartbeat-status-schema.js";
|
|
434
|
+
export { ComputeClusterSchema } from "./compute-cluster-schema.js";
|
|
435
|
+
export { ComputePoolSelectionSchema } from "./compute-pool-selection-schema.js";
|
|
436
|
+
export { ComputeSettingsSchema } from "./compute-settings-schema.js";
|
|
410
437
|
export { ComputeTypeSchema } from "./compute-type-schema.js";
|
|
411
438
|
export { ContainerAutoscalingSchema } from "./container-autoscaling-schema.js";
|
|
412
439
|
export { ContainerCodeSchema } from "./container-code-schema.js";
|
|
@@ -423,6 +450,8 @@ export { CustomDomainConfigSchema } from "./custom-domain-config-schema.js";
|
|
|
423
450
|
export { DaemonCodeSchema } from "./daemon-code-schema.js";
|
|
424
451
|
export { DaemonHeartbeatDataSchema } from "./daemon-heartbeat-data-schema.js";
|
|
425
452
|
export { DaemonOutputsSchema } from "./daemon-outputs-schema.js";
|
|
453
|
+
export { DaemonRuntimeMountSchema } from "./daemon-runtime-mount-schema.js";
|
|
454
|
+
export { DaemonRuntimeSchema } from "./daemon-runtime-schema.js";
|
|
426
455
|
export { DaemonSchema } from "./daemon-schema.js";
|
|
427
456
|
export { DeploymentModelSchema } from "./deployment-model-schema.js";
|
|
428
457
|
export { DeploymentStatusSchema } from "./deployment-status-schema.js";
|
|
@@ -463,6 +492,7 @@ export { GcpStorageImportDataSchema } from "./gcp-storage-import-data-schema.js"
|
|
|
463
492
|
export { GcpVaultImportDataSchema } from "./gcp-vault-import-data-schema.js";
|
|
464
493
|
export { GcpVpcNetworkHeartbeatDataSchema } from "./gcp-vpc-network-heartbeat-data-schema.js";
|
|
465
494
|
export { GcpWorkerImportDataSchema } from "./gcp-worker-import-data-schema.js";
|
|
495
|
+
export { GpuSpecSchema } from "./gpu-spec-schema.js";
|
|
466
496
|
export { HealthCheckSchema } from "./health-check-schema.js";
|
|
467
497
|
export { HeartbeatBackendSchema } from "./heartbeat-backend-schema.js";
|
|
468
498
|
export { HeartbeatCollectionIssueReasonSchema } from "./heartbeat-collection-issue-reason-schema.js";
|
|
@@ -474,7 +504,6 @@ export { HorizonWorkloadSchedulingModeSchema } from "./horizon-workload-scheduli
|
|
|
474
504
|
export { HttpMethodSchema } from "./http-method-schema.js";
|
|
475
505
|
export { ImportSourceKindSchema } from "./import-source-kind-schema.js";
|
|
476
506
|
export { ImportedResourceSchema } from "./imported-resource-schema.js";
|
|
477
|
-
export { IngressSchema } from "./ingress-schema.js";
|
|
478
507
|
export { KubernetesBuildHeartbeatDataSchema } from "./kubernetes-build-heartbeat-data-schema.js";
|
|
479
508
|
export { KubernetesCertificateModeSchema } from "./kubernetes-certificate-mode-schema.js";
|
|
480
509
|
export { KubernetesCloudReferenceSchema } from "./kubernetes-cloud-reference-schema.js";
|
|
@@ -529,6 +558,7 @@ export { LocalServiceAccountHeartbeatDataSchema } from "./local-service-account-
|
|
|
529
558
|
export { LocalStorageHeartbeatDataSchema } from "./local-storage-heartbeat-data-schema.js";
|
|
530
559
|
export { LocalVaultHeartbeatDataSchema } from "./local-vault-heartbeat-data-schema.js";
|
|
531
560
|
export { LocalWorkerHeartbeatDataSchema } from "./local-worker-heartbeat-data-schema.js";
|
|
561
|
+
export { MachineProfileSchema } from "./machine-profile-schema.js";
|
|
532
562
|
export { ManagedRuntimeEventInvolvedObjectSchema } from "./managed-runtime-event-involved-object-schema.js";
|
|
533
563
|
export { ManagedRuntimeEventSnapshotSchema } from "./managed-runtime-event-snapshot-schema.js";
|
|
534
564
|
export { ManagedRuntimeEventSourceSchema } from "./managed-runtime-event-source-schema.js";
|
|
@@ -557,6 +587,8 @@ export { PresignedRequestBackendSchema } from "./presigned-request-backend-schem
|
|
|
557
587
|
export { PresignedRequestSchema } from "./presigned-request-schema.js";
|
|
558
588
|
export { ProviderFleetStatusSchema } from "./provider-fleet-status-schema.js";
|
|
559
589
|
export { ProviderLifecycleStateSchema } from "./provider-lifecycle-state-schema.js";
|
|
590
|
+
export { PublicEndpointOutputSchema } from "./public-endpoint-output-schema.js";
|
|
591
|
+
export { PublicEndpointSchema } from "./public-endpoint-schema.js";
|
|
560
592
|
export { PushProgressSchema } from "./push-progress-schema.js";
|
|
561
593
|
export { QueueHeartbeatDataSchema } from "./queue-heartbeat-data-schema.js";
|
|
562
594
|
export { QueueHeartbeatStatusSchema } from "./queue-heartbeat-status-schema.js";
|
|
@@ -590,6 +622,13 @@ export { ServiceActivationHeartbeatDataSchema } from "./service-activation-heart
|
|
|
590
622
|
export { ServiceActivationHeartbeatStatusSchema } from "./service-activation-heartbeat-status-schema.js";
|
|
591
623
|
export { StackImportRequestSchema } from "./stack-import-request-schema.js";
|
|
592
624
|
export { StackImportResponseSchema } from "./stack-import-response-schema.js";
|
|
625
|
+
export { StackInputDefaultValueSchema } from "./stack-input-default-value-schema.js";
|
|
626
|
+
export { StackInputDefinitionSchema } from "./stack-input-definition-schema.js";
|
|
627
|
+
export { StackInputEnvironmentMappingSchema } from "./stack-input-environment-mapping-schema.js";
|
|
628
|
+
export { StackInputEnvironmentVariableTypeSchema } from "./stack-input-environment-variable-type-schema.js";
|
|
629
|
+
export { StackInputKindSchema } from "./stack-input-kind-schema.js";
|
|
630
|
+
export { StackInputProviderSchema } from "./stack-input-provider-schema.js";
|
|
631
|
+
export { StackInputValidationSchema } from "./stack-input-validation-schema.js";
|
|
593
632
|
export { StackRefSchema } from "./stack-ref-schema.js";
|
|
594
633
|
export { StackResourceStateSchema } from "./stack-resource-state-schema.js";
|
|
595
634
|
export { StackSchema } from "./stack-schema.js";
|
|
@@ -618,6 +657,7 @@ export { VaultSchema } from "./vault-schema.js";
|
|
|
618
657
|
export { WorkerCodeSchema } from "./worker-code-schema.js";
|
|
619
658
|
export { WorkerHeartbeatDataSchema } from "./worker-heartbeat-data-schema.js";
|
|
620
659
|
export { WorkerOutputsSchema } from "./worker-outputs-schema.js";
|
|
660
|
+
export { WorkerPublicEndpointSchema } from "./worker-public-endpoint-schema.js";
|
|
621
661
|
export { WorkerSchema } from "./worker-schema.js";
|
|
622
662
|
export { WorkerTriggerSchema } from "./worker-trigger-schema.js";
|
|
623
663
|
export { WorkloadHeartbeatStatusSchema } from "./workload-heartbeat-status-schema.js";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { ArchitectureSchema } from "./architecture-schema.js";
|
|
8
|
+
import { GpuSpecSchema } from "./gpu-spec-schema.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @description Machine resource profile for a capacity group.\n\nRepresents the hardware specifications for machines in a capacity group.\nThese are hardware totals (what the instance type advertises), not allocatable\ncapacity. The managed container scheduler internally subtracts system reserves for planning.
|
|
12
|
+
*/
|
|
13
|
+
export const MachineProfileSchema = z.object({
|
|
14
|
+
get "architecture"(){
|
|
15
|
+
return z.union([ArchitectureSchema, z.null()]).optional()
|
|
16
|
+
},
|
|
17
|
+
"cpu": z.string().describe("CPU cores per machine (hardware total) - stored as string to preserve precision\n(e.g., \"8.0\", \"4.5\")"),
|
|
18
|
+
"ephemeralStorageBytes": z.int().min(0).describe("Ephemeral storage in bytes (hardware total)"),
|
|
19
|
+
get "gpu"(){
|
|
20
|
+
return z.union([GpuSpecSchema, z.null()]).optional()
|
|
21
|
+
},
|
|
22
|
+
"memoryBytes": z.int().min(0).describe("Memory in bytes (hardware total)")
|
|
23
|
+
}).describe("Machine resource profile for a capacity group.\n\nRepresents the hardware specifications for machines in a capacity group.\nThese are hardware totals (what the instance type advertises), not allocatable\ncapacity. The managed container scheduler internally subtracts system reserves for planning.")
|
|
24
|
+
|
|
25
|
+
export type MachineProfile = z.infer<typeof MachineProfileSchema>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { LoadBalancerEndpointSchema } from "./load-balancer-endpoint-schema.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @description Runtime-resolved public endpoint metadata.
|
|
11
|
+
*/
|
|
12
|
+
export const PublicEndpointOutputSchema = z.object({
|
|
13
|
+
"host": z.string().describe("Hostname for this endpoint."),
|
|
14
|
+
get "loadBalancerEndpoint"(){
|
|
15
|
+
return z.union([LoadBalancerEndpointSchema, z.null()]).optional()
|
|
16
|
+
},
|
|
17
|
+
"url": z.string().describe("Base URL for this endpoint."),
|
|
18
|
+
"wildcardHost": z.string().describe("Wildcard hostname routed to this endpoint, when configured.").nullish()
|
|
19
|
+
}).describe("Runtime-resolved public endpoint metadata.")
|
|
20
|
+
|
|
21
|
+
export type PublicEndpointOutput = z.infer<typeof PublicEndpointOutputSchema>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
import { ExposeProtocolSchema } from "./expose-protocol-schema.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @description Public endpoint configuration for port-backed workload resources.
|
|
11
|
+
*/
|
|
12
|
+
export const PublicEndpointSchema = z.object({
|
|
13
|
+
"hostLabel": z.string().describe("Optional DNS label override for generated endpoint hostnames.").nullish(),
|
|
14
|
+
"name": z.string().describe("Endpoint name within the resource."),
|
|
15
|
+
"port": z.int().min(0).describe("Workload port served by the public endpoint."),
|
|
16
|
+
get "protocol"(){
|
|
17
|
+
return ExposeProtocolSchema.describe("Protocol for public workload endpoints.")
|
|
18
|
+
},
|
|
19
|
+
"wildcardSubdomains": z.optional(z.boolean().describe("Whether to route wildcard subdomains to this endpoint."))
|
|
20
|
+
}).describe("Public endpoint configuration for port-backed workload resources.")
|
|
21
|
+
|
|
22
|
+
export type PublicEndpoint = z.infer<typeof PublicEndpointSchema>
|
|
@@ -19,6 +19,9 @@ export const StackImportRequestSchema = z.object({
|
|
|
19
19
|
},
|
|
20
20
|
"deploymentGroupToken": z.string().describe("Deployment-group token authorizing the import."),
|
|
21
21
|
"deploymentName": z.string().describe("User-chosen deployment name. Must be unique within the deployment\ngroup; the manager returns 409 on collision rather than silently\nresolving to an existing deployment. Each setup adapter picks\nthe natural source: CloudFormation defaults to the CFN stack name,\nHelm to `{namespace}/{release}`, Terraform requires an explicit\n`name` attribute on the `alien_deployment` resource."),
|
|
22
|
+
"inputValues": z.optional(z.object({
|
|
23
|
+
|
|
24
|
+
}).catchall(z.any()).describe("Deployer-provided stack input values collected by generated setup\nsurfaces. Platform-backed managers resolve these into runtime\nenvironment variables before deployment creation; standalone managers\naccept the field for setup package compatibility.")),
|
|
22
25
|
get "managementConfig"(){
|
|
23
26
|
return z.union([ManagementConfigSchema, z.null()]).optional()
|
|
24
27
|
},
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by Kubb (https://kubb.dev/).
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description Stack input default value.
|
|
10
|
+
*/
|
|
11
|
+
export const StackInputDefaultValueSchema = z.union([z.object({
|
|
12
|
+
"type": z.enum(["string"]),
|
|
13
|
+
"value": z.string().describe("String default.")
|
|
14
|
+
}), z.object({
|
|
15
|
+
"type": z.enum(["number"]),
|
|
16
|
+
"value": z.string().describe("Number default.")
|
|
17
|
+
}), z.object({
|
|
18
|
+
"type": z.enum(["boolean"]),
|
|
19
|
+
"value": z.boolean().describe("Boolean default.")
|
|
20
|
+
}), z.object({
|
|
21
|
+
"type": z.enum(["stringList"]),
|
|
22
|
+
"value": z.array(z.string()).describe("String list default.")
|
|
23
|
+
})]).describe("Stack input default value.")
|
|
24
|
+
|
|
25
|
+
export type StackInputDefaultValue = z.infer<typeof StackInputDefaultValueSchema>
|