feat(resource): add container infrastructure resource types #831

Closed
opened 2026-03-13 20:15:39 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit Message: feat(resource): add container infrastructure resource types
  • Branch: feature/container-resource-types
  • Type: Feature
  • Priority: Low
  • MoSCoW: Could have
  • Points: 8
  • Milestone: v3.6.0

Background and Context

The specification defines 7 container infrastructure resource types that are not yet implemented. The existing container resource types (container-instance, devcontainer-instance, devcontainer-file) handle container lifecycle but not the underlying infrastructure:

Missing types:

  • container-runtime — Represents the container runtime (Docker, Podman, etc.)
  • container-image — Represents a container image (tag, digest, layers)
  • container-mount — Represents a bind mount or volume mount
  • container-exec-env — Represents execution environment variables
  • container-port — Represents a port mapping
  • container-volume — Represents a named volume
  • container-network — Represents a container network

These types enable the resource DAG to model the full container infrastructure stack, allowing actors to reason about and manipulate container configurations.

Acceptance Criteria

  • YAML resource type definitions for all 7 container infrastructure types under examples/resource-types/
  • Each type has correct parent/child relationships (e.g., container-mount is child of container-instance)
  • Resource type inheritance works (all inherit from appropriate base types)
  • Auto-discovery rules detect container infrastructure from Dockerfiles and docker-compose.yml
  • Bootstrap registration includes all 7 types
  • Documentation in docs/reference/resource_types_builtin.md

Definition of Done

This issue is complete when:

  • All subtasks below are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

Subtasks

  • Create YAML resource type definitions for container-runtime, container-image, container-mount, container-exec-env, container-port, container-volume, container-network
  • Define parent/child relationships and inheritance hierarchy
  • Implement auto-discovery rules for Dockerfile and docker-compose.yml parsing
  • Register all types in bootstrap
  • Update documentation
  • Tests (Behave): Add scenarios for type registration and parent/child validation
  • Tests (Robot): Add integration test for container type discovery
  • Verify coverage >=97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors
## Metadata - **Commit Message**: `feat(resource): add container infrastructure resource types` - **Branch**: `feature/container-resource-types` - **Type**: Feature - **Priority**: Low - **MoSCoW**: Could have - **Points**: 8 - **Milestone**: v3.6.0 ## Background and Context The specification defines 7 container infrastructure resource types that are not yet implemented. The existing container resource types (`container-instance`, `devcontainer-instance`, `devcontainer-file`) handle container lifecycle but not the underlying infrastructure: **Missing types:** - `container-runtime` — Represents the container runtime (Docker, Podman, etc.) - `container-image` — Represents a container image (tag, digest, layers) - `container-mount` — Represents a bind mount or volume mount - `container-exec-env` — Represents execution environment variables - `container-port` — Represents a port mapping - `container-volume` — Represents a named volume - `container-network` — Represents a container network These types enable the resource DAG to model the full container infrastructure stack, allowing actors to reason about and manipulate container configurations. ## Acceptance Criteria - [ ] YAML resource type definitions for all 7 container infrastructure types under `examples/resource-types/` - [ ] Each type has correct parent/child relationships (e.g., container-mount is child of container-instance) - [ ] Resource type inheritance works (all inherit from appropriate base types) - [ ] Auto-discovery rules detect container infrastructure from Dockerfiles and docker-compose.yml - [ ] Bootstrap registration includes all 7 types - [ ] Documentation in `docs/reference/resource_types_builtin.md` ## Definition of Done This issue is complete when: - All subtasks below are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. ## Subtasks - [ ] Create YAML resource type definitions for container-runtime, container-image, container-mount, container-exec-env, container-port, container-volume, container-network - [ ] Define parent/child relationships and inheritance hierarchy - [ ] Implement auto-discovery rules for Dockerfile and docker-compose.yml parsing - [ ] Register all types in bootstrap - [ ] Update documentation - [ ] Tests (Behave): Add scenarios for type registration and parent/child validation - [ ] Tests (Robot): Add integration test for container type discovery - [ ] Verify coverage >=97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors
freemo added this to the v3.6.0 milestone 2026-03-13 20:20:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
#398 Epic: Post-MVP Resources
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#831
No description provided.