From c3d0833136aaa07e1e50cf503fb0cd8b7ab18207 Mon Sep 17 00:00:00 2001 From: martoc Date: Mon, 15 Apr 2024 14:39:56 -0500 Subject: [PATCH] chore: Added deployment diagram (#1) --- .github/workflows/checks.yml | 5 +++++ docs/INTRODUCTION.md | 2 ++ docs/images/client-vpn-scenario-igw.png | Bin 0 -> 18398 bytes 3 files changed, 7 insertions(+) create mode 100644 docs/images/client-vpn-scenario-igw.png diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 5bb107c..7af6485 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -4,6 +4,11 @@ on: push: branches: - main + - release/* + pull_request: + branches: + - main + - release/* jobs: infrastructure: diff --git a/docs/INTRODUCTION.md b/docs/INTRODUCTION.md index 1e6ff29..5ee3600 100644 --- a/docs/INTRODUCTION.md +++ b/docs/INTRODUCTION.md @@ -2,6 +2,8 @@ You need a VPC in AWS and a VPN client to connect to the VPC. This document describes how to create a VPC and VPN client configuration in AWS. +![Deployment Diagram](images/client-vpn-scenario-igw.png) + ## Create VPC (Optional) An existing VPC could be used to create the VPN client. If you don't have a VPC, you can create one using the following command: diff --git a/docs/images/client-vpn-scenario-igw.png b/docs/images/client-vpn-scenario-igw.png new file mode 100644 index 0000000000000000000000000000000000000000..f4367ed626ff48f80d805c778ec2c72eb93bcbf6 GIT binary patch literal 18398 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

97<^xHhD~rhU^LthWtVfpV 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 TxhDY6bP0l+XkKoiiLz literal 0 HcmV?d00001