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".