SOFTWARE SUSHI · GETTING STARTED

CrewAI Agent Starter

AMI release 0.1.3 includes CrewAI 1.15.28 in an isolated Python 3.12 environment on Ubuntu 24.04. Start with a t3.medium, 4 GiB RAM and 24 GiB root volume. The starter runs as ubuntu and opens no web listener.

1. Connect and check initialization

Use AWS Systems Manager Session Manager with a Systems Manager-enabled instance profile and endpoint access. If you choose SSH, limit port 22 to your source address. Session Manager normally starts as ssm-user; the commands below switch to the customer user where needed.

sudo cloud-init status --wait
sudo systemctl status sushi-crewai-firstboot --no-pager

The initialization service is a one-shot service; active (exited) is expected after success. It creates /home/ubuntu/crewai-workspace/ and /home/ubuntu/crewai-results/ with mode 0700, plus an identity under /etc/crewai/. Existing state is preserved on restart.

2. Choose the real demo or the offline check

REAL MODEL DEMO

Amazon Nova Lite

Two sequential agents use Amazon Bedrock in us-east-1. Each run makes 2–8 real model calls and model charges apply.

OFFLINE FIXTURE

Installed workflow check

The explicitly labelled fixture uses no model provider. It checks local execution and saved results; it cannot prove provider access or model quality.

3. Allow the Bedrock demo

The starter obtains temporary role credentials only through EC2 IMDSv2. It reads no local AWS keys and stores no credentials. No model weights, provider keys or provider subscription are included.

4. Run the two-agent task

sudo -iu ubuntu bash /opt/sushi/docs/demo.sh

The analyst invokes the fixed sum_sales_csv calculator once through CrewAI. It reads this run's six-row synthetic CSV and calculates exact integer cents by region. The reporter copies those findings into JSON; code adds the grand total from the saved CSV. A separate process recalculates every field without importing CrewAI or calling a model.

Every demo creates a new directory beneath /home/ubuntu/crewai-results/ and prints its manifest path. It retains seven files: sales.csv, result.json, provider-trace.json, tool-result.json, tool-step.json, task-outputs.json and manifest.json. Real model runs use Bedrock native tool use and a version 2 manifest that binds the original provider responses, actual calculator result, CrewAI after-tool-call receipt and both original task outputs. Readback rejects a skipped tool or changed finding. Dataset identity and amounts vary on each run. Failures keep their task directory for diagnosis. A provider or readback error fails the command; fix the reported cause before starting a fresh run.

5. Read the same result after reboot

Save the result directory printed by the successful demo. After reboot, reconnect and run as ubuntu. The following command asks you for that existing directory, then performs independent readback without another model call:

sudo -iu ubuntu
read -r -p 'Saved demo directory: ' result_dir
sushi-crewai read "$result_dir" --require-provider

The --require-provider option accepts the real Bedrock manifest and rejects an offline fixture. Reboot preserves the instance identity and earlier workspaces; no web service needs restarting.

Offline fixture check

This separate command exercises the two-agent workflow without model charges. It creates a fresh result directory and records offline-fixture in its manifest:

sudo -iu ubuntu bash -c 'sushi-crewai self-test --output "/home/ubuntu/crewai-results/fixture-$(date +%s)-$(cat /proc/sys/kernel/random/uuid)"'

The fixture result is local execution evidence, not a successful provider demonstration.

State, backups and limits

Stop active tasks before backing up /home/ubuntu/crewai-workspace/, /home/ubuntu/crewai-results/ and /etc/crewai/. Preserve ownership and file modes. Restore to the same application version and independently read saved results before new work. Application files and the Python environment under /opt/crewai/ remain root-owned.

The analyst has exactly one local CSV calculator, limited to the current dataset identity; it cannot open arbitrary paths, execute code or access the network. The reporter has no tools. Code execution, delegation, memory, planning, telemetry and hosted tracing remain disabled. Bedrock native tool use is passed to CrewAI for actual calculator execution; the transport never runs the tool. Each request has a 60-second HTTP timeout and a bounded response; each run permits at most eight calls. Optional integration extras, including boto3, are not installed. Other CrewAI integrations require their own configuration and dependency review.

Original dependency notices, including native components, are under /usr/share/doc/crewai/. Source archives are under /opt/crewai/sources/; installed inventories are under /opt/sushi/evidence/. CrewAI's MIT license does not replace the individual dependency licenses.

Support and terms

Software Sushi provides AMI packaging and setup guidance. Contact info@softwaresushi.com for installation questions. Support coverage requires a separate agreement; upstream project support is not included.

We offer a full refund of software charges for the first 48 hours billing starts if the product does not perform as described. To request a refund, email info@softwaresushi.com with your EC2 instance ID and a description of the issue. AWS infrastructure costs (EC2, EBS, data transfer) are not eligible for refund by us.

Official CrewAI documentation. This independent package does not imply CrewAI or AWS sponsorship or endorsement.