mirror of
https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
synced 2025-09-08 20:50:46 +00:00
* feat: Add AWS Operations Agent with AgentCore Runtime - Complete rewrite of AWS Operations Agent using Amazon Bedrock AgentCore - Added comprehensive deployment scripts for DIY and SDK runtime modes - Implemented OAuth2/PKCE authentication with Okta integration - Added MCP (Model Context Protocol) tool support for AWS service operations - Sanitized all sensitive information (account IDs, domains, client IDs) with placeholders - Added support for 17 AWS services: EC2, S3, Lambda, CloudFormation, IAM, RDS, CloudWatch, Cost Explorer, ECS, EKS, SNS, SQS, DynamoDB, Route53, API Gateway, SES, Bedrock, SageMaker - Includes chatbot client, gateway management scripts, and comprehensive testing - Ready for public GitHub with security-cleared configuration files Security: All sensitive values replaced with <YOUR_AWS_ACCOUNT_ID>, <YOUR_OKTA_DOMAIN>, <YOUR_OKTA_CLIENT_ID> placeholders * Update AWS Operations Agent architecture diagram --------- Co-authored-by: name <alias@amazon.com>
34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
FROM --platform=linux/arm64 python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy requirements first for better caching
|
|
COPY requirements.txt .
|
|
RUN pip install -r requirements.txt
|
|
|
|
# Copy shared configuration manager (project-wide)
|
|
COPY shared/ ./shared/
|
|
|
|
# Copy static configuration (embedded in container)
|
|
COPY config/static-config.yaml ./config/
|
|
|
|
# Copy dynamic configuration (contains gateway URL and runtime info)
|
|
COPY config/dynamic-config.yaml ./config/
|
|
|
|
# Copy agent-specific shared helper functions to agent_shared directory (avoid overwrite)
|
|
COPY agentcore-runtime/src/agent_shared/ ./agent_shared/
|
|
|
|
# Copy agent implementation
|
|
COPY agentcore-runtime/src/agents/sdk_agent.py .
|
|
|
|
# Validate static configuration at build time
|
|
RUN python -c "from shared.config_manager import AgentCoreConfigManager; config = AgentCoreConfigManager(); print('✅ Static configuration validated')"
|
|
|
|
# Validate that gateway URL and OAuth settings are accessible
|
|
RUN python -c "from shared.config_manager import AgentCoreConfigManager; config = AgentCoreConfigManager(); gateway_url = config.get_gateway_url(); oauth = config.get_oauth_settings(); print(f'✅ Gateway URL: {gateway_url}'); print(f'✅ OAuth domain: {oauth.get(\"domain\", \"Not configured\")}')"
|
|
|
|
# Expose port 8080 (AgentCore requirement)
|
|
EXPOSE 8080
|
|
|
|
# Run the agent using BedrockAgentCoreApp
|
|
CMD ["python", "sdk_agent.py"] |