Experiment Developer (formerly AP Developer) is an AI-powered solution that generates code for resiliency and chaos testing. From three inputs, it generates python code that can serve as actions and probes in a ChaosToolkit experiment.
The project is organized into three main directories:
Contains the core backend services:
- Python code for content ingestion and code generation
- Docker configuration and containarization
- Utility scripts for building, running, and testing the solution
See docker/README.md
for more details
AWS CDK infrastructure code for deploying and managing the solution:
- Cloud infrastructure as code
- Deployment configurations
Sample web interface for interacting with the Experiment Developer solution:
- User interface for code generation
- Simple three input form
-
Set up the development environment:
- Configure AWS credentials and ensure secrets manager secrets are present (for OpenAI api key)
- Install Docker
- Set up Node.js for the React UI
- Set up python virtual environment and install requirements
-
Example local executions:
Run ingest
sh docker/scripts/run_ingest_local.sh
Run generate
sh docker/scripts/run_generate_local.sh
See
docker/README.md
for more details -
Deploy to AWS:
- Ensure context variables are updated
- Ensure required secrets manager secrets exist
- Deploy infrastructure
- Push Docker images to ECR
- Update allowed IP addresses API Gateway resource policy via cdk.json or console
- Invoke via
cdk\lambda\testing\invoke.py
orreact-ui
, local deployment
See
cdk/README.md
for more details -
Start the React UI: Export API GW invoke url
export REACT_APP_API_URL="your_url"
cd react-ui npm start
Ensure you install dependencies if first time:
npm install
See
react-ui/README.md
for more details