diff --git a/docs/how_to_guides/continuous_integration_continuous_deployment.md b/docs/how_to_guides/continuous_integration_continuous_deployment.md
index 9530dd8eb..344f9c828 100644
--- a/docs/how_to_guides/continuous_integration_continuous_deployment.md
+++ b/docs/how_to_guides/continuous_integration_continuous_deployment.md
@@ -255,7 +255,7 @@ terraform apply -var="aws_region=us-east-1" -var="backend_memory=2048" -var="bac
Once the deployment has succeeded you should see some output values (which will be required if you wish to set up CI).
-## Step4: Deploying Guardrails API
+## Step 4: Deploying Guardrails API
### Manual
Firstly, create or use your existing guardrails token and export it to your current shell `export GUARDRAILS_TOKEN="..."`
@@ -444,7 +444,67 @@ By setting the above environment variable `GUARDRAILS_BASE_URL` the SDK will be
## Quick Start Repository Template
-We've conveniently packaged all the artifacts from this document in a github repository that can be used as a template for your own verification and deployment [here](https://github.com/guardrails-ai/continuous_integration_and_deployment_aws_template).
+We've conveniently packaged all the artifacts from this document in a github repository that can be used as a template for your own verification and deployment [here](https://github.com/guardrails-ai/continuous_integration_and_deployment_aws_template).
+
+## Diagram
+
+```mermaid
+graph TD
+ %% Internet and IGW
+ Internet((Internet)) --> IGW[Internet Gateway]
+ IGW --> RouteTable[Public Route Table]
+
+ %% VPC Container
+ VPC[VPC
10.0.0.0/16] --> IGW
+
+ %% IAM Permissions Group
+ subgraph ECSIAMPermissions["ECS IAM Permissions"]
+ ExecutionRole[ECS Execution Role]
+ TaskRole[ECS Task Role]
+ end
+
+ %% Public Subnet Group
+ subgraph PublicSubnets["Public Subnets x3"]
+ NLB[Network Load Balancer]
+ TG[Target Group
TCP:80]
+ SG[Security Group
Ingress: 8000
Egress: All]
+ ECSCluster[ECS Cluster]
+
+ %% ECS Components
+ ECSService[ECS Service]
+ TaskDef[Task Definition
CPU: 1024
Memory: 2048]
+ Container[Container
Port: 8000]
+
+ %% Internal Connections
+ NLB --> |Port 80| TG
+ TG --> ECSService
+ ECSCluster --> ECSService
+ SG --> ECSService
+ ECSService --> TaskDef
+ TaskDef --> Container
+ end
+
+ %% IAM Connections
+ ECSIAMPermissions --> TaskDef
+
+ %% Route Table Connection
+ RouteTable --> PublicSubnets
+
+ %% External Service Connections
+ CloudWatchLogs[CloudWatch Log Group] --> Container
+ ECR[ECR Repository] --> |Image| Container
+
+ %% Internet Access
+ Internet --> NLB
+
+ %% Styling
+ classDef aws fill:#FF9900,stroke:#232F3E,stroke-width:2px,color:black
+ classDef subnet fill:#FFD700,stroke:#232F3E,stroke-width:2px,color:black
+ classDef iam fill:#FF6B6B,stroke:#232F3E,stroke-width:2px,color:black
+ class VPC,IGW,NATGateway,RouteTable,NLB,TG,ECSCluster,ECSService,TaskDef,Container,SG,CloudWatchLogs,ECR aws
+ class PublicSubnets subnet
+ class ECSIAMPermissions,ExecutionRole,TaskRole iam
+```
## Terraform
diff --git a/docusaurus/docusaurus.config.js b/docusaurus/docusaurus.config.js
index eff83f6eb..743e28a25 100644
--- a/docusaurus/docusaurus.config.js
+++ b/docusaurus/docusaurus.config.js
@@ -29,7 +29,7 @@ const config = {
markdown: {
mermaid: true
},
- // themes: ['@docusaurus/theme-mermaid', '@docusaurus/theme-classic'],
+ themes: ['@docusaurus/theme-mermaid'],
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".