Fresh readme

This commit is contained in:
shockrah 2023-09-10 15:51:35 -07:00
parent 830352a851
commit efdd75b831

104
readme.md
View File

@ -1,105 +1,25 @@
# Project Athens # Project Athens
## Preamble
This is the infrastructure that many of my own personal projects live in, such This repo contains project's that are effectively serve only me, such as my
as personal websites and services that I expose for myself & friends. personal blog, public CV, and some other project's that are largely
"self-serving".
## Section 1. Abstract # Infrastructure High Level
Project Athens is an effort to collate my web based projects onto a more While the project has gone through many iterations and designs the current
manageable infrastructure. The goal is to provide some structure that makes design is as follows:
the operations & management easier as previously I had projects on
GCP, AWS, IONOS and others.
## Section 2. The Hosts/Services * A single Fargate cluster to host all _Project-Athens_ related services in
### Docker Host * A Fargate service for serving static website content
This _internal_ host will serve to host some containerized applications: * Collection of S3 buckets which contain static website content
* Lewdlad - [Repo Link](https://gitlab.com/shockrah/left-coast-server-bot) ## Nginx Reverse Proxy service
This is the Left Coast communities server management bot. It's in charge The following websites are served by this service
of managing _another VPC_ of game servers which currently serves a community
of just over 100 people. This bot sits outside the VPC however because it
uses Lambda based API for control.
* Musical Maurice - [Link to Muse Discord Bot](https://github.com/codetheweb/muse)
This is the Left Coast Discord community's music bot. We used to use Groovy
however due to the recent DMCA's we have began to host our own music bot.
* Personal Clippable Instance - [Repo Link](https://gitlab.com/shockrah/clippable)
This is my own personal Clippable instance where I try to post fun/interesting
clips.
### Static Nginx Server
This host is serving a few different pages that I use for my own online persona:
* Blog - [link](https://shockrah.xyz) * Blog - [link](https://shockrah.xyz)
* Portfolio - [link](https://resume.shockrah.xyz) * Portfolio - [link](https://resume.shockrah.xyz)
* Temper.tv - 🚧🛠️ [link](https://temper.tv)🛠️ 🚧
* Freechat Reference - [link](https://freechat.shockrah.xyz)
At some point this link may become stale as the official docs are currently
being constructed and will be hosted under its own domain.
### Ansible Host/Jump Host
This is the dev box that I use to patch services running in the VPC.
Typically this server is only up when requested to reduce attack surface.
### Web Reverse Proxy
This server sits between the internal _Static Nginx server_ and the internal
_Docker host_. Many of my websites live in a subdomain so this server
diverts traffic to the appropriate internal server.
## Section 3. Codenames
_Below are the codenames which are used to references major parts of _Project
Athens_.
| Codename | Role/Purpose |
|:--------:|:------------:|
| Alpha | Docker Host |
| Beta | Nginx Host |
| Crete |Private Subnet|
| Demeter | EIP for NAT |
| Athens | Project Name |
## Section 4. Network Layout
### Crete
Network: `10.0.1.0/24`
The public subnet (which is the only subnet this VPC has).
Mostly web services however there are a few chat bots which connect to the
internet via NAT gateway.
### Olympus
Public Subnet wherein all members have an Elastic IP.
### Demeter
EIP which is used for the NAT gateway allocated to Olympus. This is used by
members of the Crete subnet for internet access(patching / system updates).
### Addressing
| Name | IP |
|:----:|:--:|
| Alpha| 10.0.1.10 |
| Beta | 10.0.1.11 |