From f60f9fe5c7cc8fde39304f5a38be6df8e714568a Mon Sep 17 00:00:00 2001 From: Kaitlyn Parkhurst Date: Sat, 19 Nov 2022 02:50:53 -0800 Subject: [PATCH] Docs --- README.md | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e62a625..28459c2 100644 --- a/README.md +++ b/README.md @@ -53,20 +53,44 @@ WebServers run nginx and host static content for Jekyll blogs. When a blog is p The build servers will sync the blog content with webservers each time the blog is updated through the Panel. -## How does it work? +### Overview -### Deploy a Jekyll blog +This graph shows a view of a user updating a post, and somebody from the Internet viewing a post. ```mermaid -sequenceDiagram - Web Panel->>+Build Server: User update triggers build - Build Server->>+Store Server: Request for updates - Store Server-->>-Build Server: Latest repo updates sent back - Build Server-->+Build Server: Builds static website content with the Jekyll builder - Build Server-->+Web Server: Sync static website content +flowchart TB + subgraph one[Panel Node] + a2[MyJekyllBlog::Web] + a3[Nginx] + a3 -- Hypnotoad PSGI --> a2 + end + + subgraph two[Build Node] + b1[Clone & Build Website] + b2[MyJekyllBlog Worker] + b2 --> b1 + end + + subgraph four[Store] + d1[PostgreSQL] + d2[Gitea] + + d2 <-- Fetch latest repo --> b1 + b2 <-- Get job for sync --> d1 + a2 -- Queue blog sync job --> d1 + a2 -- Update file in repo --> d2 + + end + + subgraph three[WebServer Node] + c1[nginx] + end + + b1 -- rsync to each WebServer Node --> c1 + q[Internet User] <-- View Blog Post -->c1 + z[MyJekyllBlog User] <-- Submit Post Update -->a3 ``` - ## Installation Guide This guide will follow my process of installing the software to run on `mds-stage.com` and serve blogs on `mds-stage-blog.com`. If you follow along, you could have your own version up and running in a couple of hours.