-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdiagram.plantuml
29 lines (26 loc) · 1.18 KB
/
diagram.plantuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@startuml Flask To-Do List App Deployment on AWS
!theme toy
!pragma layout smetana
actor Developer
participant "AWS CLI\nConfiguration" as AWSCLI
participant "Terraform\nInitialization" as TerraformInit
participant "Terraform\nValidation" as TerraformValidate
participant "Terraform\nExecution Plan" as TerraformPlan
participant "Terraform Apply" as TerraformApply
participant "Ansible Vault\n(secret_vars.yaml)" as AnsibleVault
participant "Ansible Playbook\n(main.yaml)" as AnsiblePlaybook
database "MySQL Database\non RDS" as MySQLDB
participant "EC2 Instances" as EC2
participant "S3 Bucket" as S3
Developer -> AWSCLI : Configures AWS CLI
AWSCLI -> TerraformInit : Initializes Terraform
TerraformInit -> TerraformValidate : Validates Configuration
TerraformValidate -> TerraformPlan : Generates Execution Plan
TerraformPlan -> TerraformApply : Applies Changes on AWS
TerraformApply -> MySQLDB : Provisions MySQL Database on RDS
TerraformApply -> EC2 : Deploys EC2 Instances
Developer -> AnsibleVault : Creates Ansible Secrets
AnsibleVault -> AnsiblePlaybook : Runs Playbook with Secrets
AnsiblePlaybook -> EC2 : Configures and Deploys Flask App
EC2 -> S3 : Static Files Served from S3 Bucket
@enduml