# One-command live demos of the use_ros tool against a real turtlesim.
#
#   cd examples/ros2/use_ros
#   docker compose run --build --rm showcase   # exercise every action (no model)
#   docker compose run --build --rm agent      # a Strands Agents drives a square
#
# Builds ros:jazzy + turtlesim + strands-agents, starts a real turtlesim node,
# and runs use_ros in-process through rclpy.
#
#   showcase: exercises every action incl. a closed sense->act->sense loop;
#             exits 0 iff the turtle moved. No model/credentials needed.
#   agent:    a Bedrock-backed Strands agent drives a closed-loop square from a
#             natural-language prompt. Needs AWS credentials in the environment
#             (e.g. AWS_BEARER_TOKEN_BEDROCK), forwarded below.
services:
  showcase:
    build:
      context: ../../..
      dockerfile: examples/ros2/use_ros/Dockerfile
    command: ["bash", "examples/ros2/use_ros/run_showcase.sh"]

  agent:
    build:
      context: ../../..
      dockerfile: examples/ros2/use_ros/Dockerfile
    command: ["bash", "examples/ros2/use_ros/run_agent.sh"]
    environment:
      - AWS_BEARER_TOKEN_BEDROCK
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_REGION=${AWS_REGION:-us-east-1}
      - STRANDS_MODEL_ID=${STRANDS_MODEL_ID:-global.anthropic.claude-opus-4-8}
