-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Overview
Extend structured I/O (output schemas) to all supported tools and platforms beyond Docker containers.
Motivation
Issue #74 introduces structured I/O foundation with pre-built schemas. Currently we have basic container schemas, but we need comprehensive coverage for:
- ✅ Docker containers (in progress)
- All other platforms and tools
This will provide consistent, validated outputs across all AOF operations.
Scope
Docker Platform
- - Running containers (basic)
- - Detailed container info
- - Container log output
- - Resource usage statistics (enhanced)
- - Image listing
- - Network configuration
- - Volume information
- - Compose service status
Kubernetes Platform
- - Pod listings with status
- - Detailed pod information
- - Service endpoints
- - Deployment rollout status
- - kubectl top output
- - Kubernetes events
- - Pod log output
- - ConfigMap contents
- - Secret names (redacted values)
Git Operations
- - Working tree status
- - Commit history
- - Diff output (structured)
- - Branch listing
- - Remote repositories
System/Shell
- - Running processes (ps output)
- - df output
- - netstat/ss output
- - ls output with metadata
- - uname/hostinfo output
Cloud Providers
- AWS: EC2 instances, S3 buckets, Lambda functions
- GCP: Compute instances, GCS buckets, Cloud Functions
- Azure: VMs, Storage accounts, Functions
Databases
- PostgreSQL: Table listings, query results
- MySQL: Database structure, query output
- MongoDB: Collection data
- Redis: Key listings, data structures
Implementation Strategy
- Phase 1: Docker schemas (containers, images, stats) - feat: Add Structured I/O (Input/Output Schemas) similar to Agno #74
- Phase 2: Kubernetes schemas (pods, deployments, services)
- Phase 3: System/shell schemas (processes, files, network)
- Phase 4: Git and cloud provider schemas
- Phase 5: Database schemas
Each schema should include:
- ✅ JSON Schema definition
- ✅ Format hint (table/list/json)
- ✅ Description
- ✅ Example usage
- ✅ Tests
API Design
// In schemas:: module
pub mod docker {
pub fn container_list() -> OutputSchema { /* ... */ }
pub fn container_inspect() -> OutputSchema { /* ... */ }
pub fn stats() -> OutputSchema { /* ... */ }
}
pub mod kubernetes {
pub fn pod_list() -> OutputSchema { /* ... */ }
pub fn deployment_status() -> OutputSchema { /* ... */ }
}
pub mod git {
pub fn status() -> OutputSchema { /* ... */ }
pub fn log() -> OutputSchema { /* ... */ }
}CLI Usage
# Docker
aofctl run agent docker.yaml --output-schema docker.container-list
aofctl run agent docker.yaml --output-schema docker.stats
# Kubernetes
aofctl run agent k8s.yaml --output-schema kubernetes.pod-list
aofctl run agent k8s.yaml --output-schema kubernetes.deployment-status
# Git
aofctl run agent git.yaml --output-schema git.status
aofctl run agent git.yaml --output-schema git.logDependencies
- Blocks on: feat: Add Structured I/O (Input/Output Schemas) similar to Agno #74 (structured I/O foundation)
- Related to: Docker smart tools, Kubectl integration
Acceptance Criteria
- All listed platforms have comprehensive schemas
- Each schema includes tests
- Documentation with examples for each schema
- CLI integration for schema selection
- Validated with real-world usage
Future Enhancements
- Schema versioning (v1, v2, etc.)
- Custom schema composition (combine multiple schemas)
- Schema validation strictness levels
- Schema auto-detection from tool output
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request