From 6f5e861b043d8c613fe92481f9d0bf3d5dd8819e Mon Sep 17 00:00:00 2001 From: "D. Purge" Date: Mon, 4 Dec 2023 17:41:28 +0100 Subject: [PATCH] Save work --- .gitignore | 1 + README.md | 18 ++++++++++ .../devops/blueprints/aws-static-webapp.md | 17 ++++++++++ .../devops/blueprints/aws-static-webapp.png | Bin 0 -> 102289 bytes .../devops/blueprints/aws-static-webapp.py | 32 ++++++++++++++++++ requirements.txt | 1 + 6 files changed, 69 insertions(+) create mode 100644 content/docs/devops/blueprints/aws-static-webapp.md create mode 100644 content/docs/devops/blueprints/aws-static-webapp.png create mode 100644 content/docs/devops/blueprints/aws-static-webapp.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index fee5623c..3abe4652 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store .hugo_build.lock +.venv public/ resources/_gen diff --git a/README.md b/README.md index 1ba089de..f77aef11 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,21 @@ To work locally: `hugo server -D` To build: `hugo --minify` + +## Diagrams + +- [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/downloads/) are a prerequisite to install some packages +- [GraphViz](https://graphviz.org/download/) is required for diagrams + +```sh +python -m venv .venv +source ./.venv/Scripts/activate +pip install -r requirements.txt +``` + +Compilation: + +```sh +cd ./content/docs/devops/blueprints/ +python aws-static-webapp.py +``` diff --git a/content/docs/devops/blueprints/aws-static-webapp.md b/content/docs/devops/blueprints/aws-static-webapp.md new file mode 100644 index 00000000..deec068e --- /dev/null +++ b/content/docs/devops/blueprints/aws-static-webapp.md @@ -0,0 +1,17 @@ +# AWS static web application + +![AWS static web application](https://raw.githubusercontent.com/dpurge/dpurge.github.io/gh-pages/docs/devops/blueprints/aws-static-webapp.png) + +Components: + +- *AWS Shield Standard* - free protection against common DDoS attacks, + applied automatically to CloudFront and Route 53. +- *Route 53* - Domain Name System web service, performs domain registration, + DNS routing and health checking. +- *Hosted Zone* - container for records specifying how to route traffic for a + specific domain. +- *CloudFront* - content delivery network for distributing static content from + edge locations. +- *S3 bucket* - cloud storage for web content +- *Argo Workflows* - pipelines producing web content and publishing it to the + cloud storage \ No newline at end of file diff --git a/content/docs/devops/blueprints/aws-static-webapp.png b/content/docs/devops/blueprints/aws-static-webapp.png new file mode 100644 index 0000000000000000000000000000000000000000..4d04f1e738f113771ff9d54b571453448c3cd79f GIT binary patch literal 102289 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 (7V27pU?Mq^*|8JUT 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 literal 0 HcmV?d00001 diff --git a/content/docs/devops/blueprints/aws-static-webapp.py b/content/docs/devops/blueprints/aws-static-webapp.py new file mode 100644 index 00000000..2469cf11 --- /dev/null +++ b/content/docs/devops/blueprints/aws-static-webapp.py @@ -0,0 +1,32 @@ +from diagrams import Diagram, Cluster, Edge + +from diagrams.aws.general import Users +from diagrams.aws.network import Route53 +from diagrams.aws.network import Route53HostedZone +from diagrams.aws.security import Shield +from diagrams.aws.network import CloudFront +from diagrams.aws.storage import SimpleStorageServiceS3 + +from diagrams.onprem.gitops import ArgoCD + +with Diagram("AWS static WebApp", filename="aws-static-webapp", show=False, direction="LR"): + + users = Users("Users") + + with Cluster("AWS Cloud"): + shield = Shield() + dns = Route53("DNS") + hosted_zone = Route53HostedZone("Hosted Zone") + cdn = CloudFront("CDN") + storage = SimpleStorageServiceS3("Storage") + + with Cluster("On-prem"): + workflow = ArgoCD("Workflow") + + users >> Edge(forward=True, reverse=True) >> dns + dns >> Edge(forward=True, reverse=True) >> hosted_zone + + hosted_zone >> Edge(forward=True, reverse=True) >> cdn + cdn >> Edge(style="dashed", forward=True, reverse=True) >> storage + + storage << workflow \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..9fbb134f --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +diagrams