NAME
IO::K8s::AgentSandbox - AgentSandbox CRD resource map provider for IO::K8s
VERSION
version 1.108
SYNOPSIS
my $k8s = IO::K8s->new(with => ['IO::K8s::AgentSandbox']);
my $sandbox = $k8s->new_object('Sandbox',
metadata => { name => 'my-sandbox', namespace => 'default' },
spec => { ... },
);
print $sandbox->to_yaml;
DESCRIPTION
Resource map provider for AgentSandbox Custom Resource Definitions, matching upstream AgentSandbox v1.0.0. Registers 4 short names covering 4 CRD kinds:
agents.x-k8s.io: Sandbox (main API group)extensions.agents.x-k8s.io: SandboxClaim, SandboxTemplate, SandboxWarmPool
The v1beta1 track (D5/D6) is modeled to full depth: spec and, where upstream declares one, status are typed field-by-field, nested classes carry their upstream Go type names, and embedded core types (Core::V1::PersistentVolumeClaimSpec, Meta::V1::Condition, Networking::V1::NetworkPolicyIngressRule/ EgressRule, ...) are referenced rather than re-modeled. 28 classes across the 4 Kinds: 24 further IO::K8s::AgentSandbox::V1beta1::* classes below the 4 Kind roots, one per upstream Go structure. A Go type shared across Kinds (PodTemplate, PodMetadata, PersistentVolumeClaimTemplate, EmbeddedObjectMetadata -- Sandbox and SandboxTemplate both embed agent-sandbox's SandboxBlueprint inline) is one shared class, not a copy per Kind.
Each kind ships two API versions on disk — v1alpha1 (served through the v0.5.x line and removed upstream at v1.0.0: agent-sandbox's v1.0.0 tag ships no api/v1alpha1 directory at all, so there is no manifest left to render it from) and v1beta1 (the current, and now only, upstream-served version). The v1alpha1 classes are kept here as back-compat for clusters still on agent-sandbox v0.5.x, unmodeled below the top level (D7) and excused from maint/crd-drift-check.pl --check via ignore_unrendered. The short-name resource_map below resolves to the v1beta1 class for each kind; the v1alpha1 classes remain available for direct use by their full class name (IO::K8s::AgentSandbox::V1alpha1::*) or via domain-qualified lookup (e.g. agents.x-k8s.io/v1alpha1/Sandbox).
AgentSandbox manages isolated, stateful, singleton workloads for AI agent runtimes.
Not loaded by default — opt in via the with constructor parameter of IO::K8s or by calling $k8s->add('IO::K8s::AgentSandbox') at runtime.
Included CRDs (agents.x-k8s.io/v1beta1, agents.x-k8s.io/v1alpha1)
Sandbox-- an individual, stateful pod with a stable hostname and network identity, and persistent storage that survives restarts: the unit an agent runtime actually executes in.
Included CRDs (extensions.agents.x-k8s.io/v1beta1, extensions.agents.x-k8s.io/v1alpha1)
Three Kinds that build a self-service workflow on top of Sandbox: a SandboxTemplate defines what to create, a SandboxWarmPool keeps instances of it ready in advance, and a SandboxClaim is how a caller actually gets one.
SandboxTemplate-- a reusable template for creatingSandboxes, so many similar Sandboxes don't each need their own hand-written spec.SandboxWarmPool-- pre-provisions and maintains a pool ofSandboxes built from aSandboxTemplate, cutting the time it takes to get a newSandboxup and running.SandboxClaim-- requests aSandboxfrom aSandboxWarmPool, abstracting away the underlying Sandbox configuration from the caller.
SEE ALSO
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/pplu/io-k8s-p5/issues.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHORS
Torsten Raudssus <getty@cpan.org>
Jose Luis Martinez Torres <jlmartin@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018-2026 by Jose Luis Martinez Torres <jlmartin@cpan.org>.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004