This document provides instructions for testing CAM-OS using Docker containers.
# Clone the repository
git clone https://github.com/Dru-Edwards/CAM-OS.git
cd CAM-OS
# Run the complete test environment
./quick-start-docker.shdocker-compose -f docker-compose.test.yml up -ddocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"think", "payload":"solve problem"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"decide", "payload":"choose option A"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"context_write", "payload":"namespace:test,key:data,value:example"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"context_read", "payload":"namespace:test,key:data"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"register_agent", "payload":"agent_id:test-agent,capabilities:reasoning,thinking"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"communicate", "payload":"from:agent-1,to:agent-2,message:hello"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"commit_task", "payload":"task_id:task-123,description:process data"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"rollback_task", "payload":"task_id:task-123"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"observe", "payload":"component:scheduler,metrics:queue_size,latency"}' \
cam-kernel:50051 cam.SyscallService/Executedocker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"explain_action", "payload":"action_id:action-456,detail_level:high"}' \
cam-kernel:50051 cam.SyscallService/Execute# Open in browser
open http://localhost:3000
# Default credentials: admin/admin# Open in browser
open http://localhost:9090docker exec -it cam-os-redis redis-cli# Run automated load tests
./test-scripts/run-all-tests.sh
# Or run specific performance tests
docker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"tune_system", "payload":"performance_mode:high,max_workers:200"}' \
cam-kernel:50051 cam.SyscallService/Execute# High-volume syscall testing
for i in {1..1000}; do
docker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"think", "payload":"stress test '$i'"}' \
cam-kernel:50051 cam.SyscallService/Execute &
done
waitdocker-compose -f docker-compose.test.yml ps# CAM-OS kernel logs
docker logs cam-os-kernel
# Redis logs
docker logs cam-os-redis
# All logs
docker-compose -f docker-compose.test.yml logs -f# Stop all containers
docker-compose -f docker-compose.test.yml down
# Remove volumes
docker-compose -f docker-compose.test.yml down -v
# Clean up images
docker system prune -f| Variable | Default | Description |
|---|---|---|
CAM_PORT |
50051 | gRPC server port |
CAM_REDIS_URL |
redis://redis:6379 | Redis connection URL |
CAM_LOG_LEVEL |
info | Log level (debug, info, warn, error) |
CAM_METRICS_PORT |
8080 | Metrics server port |
CAM_HEALTH_PORT |
8081 | Health check port |
- All 15 cognitive syscalls respond successfully
- Memory context operations work correctly
- Agent registration and communication function
- Task management (commit/rollback) works
- Observability and monitoring are functional
- Performance targets are met (<1ms latency)
- Security features are operational
- Error handling works correctly
- Resource cleanup is proper
- Monitoring dashboards display data
# Test authentication
docker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -H "Authorization: Bearer invalid-token" \
-d '{"verb":"think", "payload":"test"}' \
cam-kernel:50051 cam.SyscallService/Execute# Test multi-cluster operations
docker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"federate", "payload":"cluster:remote,operation:sync"}' \
cam-kernel:50051 cam.SyscallService/Execute# Test driver loading
docker run --rm --network cam-os_cam-network fullstorydev/grpcurl:latest \
-plaintext -d '{"verb":"load_driver", "payload":"driver:test-driver,type:wasm"}' \
cam-kernel:50051 cam.SyscallService/ExecuteFor issues with the Docker test environment:
- Check the troubleshooting section above
- Review container logs for error messages
- Verify network connectivity between containers
- Ensure all required ports are available
- Check resource availability (CPU, memory, disk)
For additional support, please open an issue on the CAM-OS GitHub repository.