Files
hamza.khyari 2370e19da8 feat(resource): add container infrastructure resource types
Add 7 container infrastructure resource types per ADR-039:
container-runtime, container-image, container-mount, container-exec-env,
container-port, container-volume, container-network.

- YAML configs under examples/resource-types/
- Bootstrap registration via _resource_registry_container.py
- Updated container-instance parent_types (container-runtime, container-image)
  and child_types (container-mount, container-exec-env, container-port)
- container-runtime is top-level with auto-discovery rules (scan_depth: 1)
- container-mount/exec-env/port inherit snapshot sandbox from instance
- container-volume is user-addable with snapshot sandbox
- container-network is read-only, no sandbox
- Handler references are forward declarations (ADR-039)
- 33 Behave BDD scenarios, 4 Robot integration tests
- Updated BUILTIN_NAMES, service docstring, CHANGELOG

ISSUES CLOSED: #831
2026-03-30 13:44:54 +00:00

42 lines
1.2 KiB
YAML

# Spec reference: ADR-039, docs/specification.md ~lines 25096-25114
schema_version: "1.0"
name: container-runtime
description: "A container runtime engine (Docker, Podman, containerd, etc.)"
resource_kind: physical
sandbox_strategy: none
user_addable: true
built_in: true
cli_args:
- name: engine-type
type: string
required: true
description: "Container engine type (docker, podman, containerd, lxc, lxd, cri-o, other)"
- name: socket-path
type: path
required: false
description: "Path to the container engine socket"
- name: endpoint
type: string
required: false
description: "Remote endpoint URL for the engine API"
parent_types: []
child_types: ["container-image", "container-instance", "container-volume", "container-network"]
auto_discovery:
enabled: true
scan_depth: 1
rules:
- type: container-image
pattern: "images/*"
- type: container-instance
pattern: "containers/*"
- type: container-volume
pattern: "volumes/*"
- type: container-network
pattern: "networks/*"
capabilities:
read: true
write: false
sandbox: false
checkpoint: false
handler: "cleveragents.resource.handlers.container:ContainerRuntimeHandler"