Skip to content

Commit b734d5a

Browse files
authored
Add SES Email Forwarding System for AI Coders Program (#185)
* Cleanup old stuff * SES Forwarding setup for @coders.operationcode.org email addresses * bounce and complaints handler * fix issue found in integration testing
1 parent 89e6172 commit b734d5a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+3188
-3874
lines changed

.github/workflows/terraform.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ on:
44
push:
55
branches:
66
- main
7+
paths:
8+
- 'terraform/**'
9+
- 'lambda/**'
710
pull_request:
11+
paths:
12+
- 'terraform/**'
13+
- 'lambda/**'
814

915
jobs:
1016
terraform:

.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,35 @@
1+
# Terraform
12
.terraform/
3+
*.tfstate
4+
*.tfstate.*
5+
*.tfvars
6+
tfplan
7+
*.tfplan
8+
9+
# Python
10+
*.pyc
11+
*.pyo
12+
*.pyd
13+
__pycache__/
14+
*.py[cod]
15+
*$py.class
16+
.Python
17+
.venv/
18+
venv/
19+
ENV/
20+
env/
21+
*.egg-info/
22+
.pytest_cache/
23+
.mypy_cache/
24+
.coverage
25+
.coverage.*
26+
htmlcov/
27+
28+
# Build artifacts
29+
*.zip
30+
31+
# Local environment
32+
.envrc
33+
34+
# OS
235
.DS_Store

MAINTAINERS.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ This file lists how the Operation Code Infrastructure project is maintained. Whe
55
Check out [how Operation Code Open Source projects are maintained](https://github.com/OperationCode/START_HERE/blob/61cebc02875ef448679e1130d3a68ef2f855d6c4/open_source_maintenance_policy.md) for details on the process, how to become a maintainer, lieutenant, or the project lead.
66

77
# Project Lead
8+
* [Irving Popovetsky](https://github.com/irvingpop)
89

9-
* [Matthew Walter](https://github.com/ohaiwalt)
1010

11-
# Sergeant
11+
# Past Maintainers
1212

13+
* [Matthew Walter](https://github.com/ohaiwalt)
1314
* [Nell Shamrell-Harrington](http://www.github.com/nellshamrell)
14-
15-
# Maintainers
16-
1715
* [David Marchante](http://www.github.com/cdmarchante)
16+

README.md

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
1-
# Operation Code Infra
2-
Platform infrastructure for the [Operation Code site](https://operationcode.org/).
1+
# Operation Code Infrastructure
32

4-
[![CircleCI](https://circleci.com/gh/OperationCode/operationcode_infra/tree/master.svg?style=svg)](https://circleci.com/gh/OperationCode/operationcode_infra/tree/master)
3+
Terraform-managed AWS infrastructure for [Operation Code](https://operationcode.org/).
54

6-
## warning
5+
## Overview
76

8-
This repository is using [ArgoCD](https://argoproj.github.io/argo-cd/) to deploy the Operation Code infrastructure. Changes landed on main in this repository are reflected in the real running infrastructure.
7+
ECS cluster running containerized services on EC2 spot instances, fronted by an Application Load Balancer.
98

10-
To set up your workstation to access our Kubernetes cluster, please check the below instructions
9+
### Active Services
10+
- **Python Backend** (prod/staging) - `backend.operationcode.org`, `api.operationcode.org`
11+
- **Pybot** (prod) - Slack integration bot at `pybot.operationcode.org`
1112

12-
## Setup
13+
### Stack
14+
- **Region:** us-east-2
15+
- **Compute:** ECS with Fargate + spot instances
16+
- **Routing:** ALB with host-based routing
17+
- **Logs:** CloudWatch (7-day retention)
18+
- **State:** S3 backend
1319

14-
### Operation Code's Kubernetes Cluster.
15-
Greetings! Much of Operation Code's web site runs in a [Kubernetes](https://kubernetes.io/) cluster. These instructions will guide you through setting up access to our cluster so you can run rails console, tail logs, and more!
20+
## Structure
21+
```
22+
terraform/
23+
├── ecs.tf # ECS cluster config
24+
├── apps.tf # Service definitions
25+
├── alb.tf # Load balancer
26+
├── asg.tf # Auto-scaling groups
27+
├── python_backend/ # Backend service module
28+
└── pybot/ # Pybot service module
29+
```
1630

17-
### Getting access to the cluster
18-
1. Ensure you have [AWS](https://aws.amazon.com) access, and the [aws CLI](https://aws.amazon.com/cli/) is operating correctly
19-
2. Install eksctl: https://eksctl.io/introduction/#installation
20-
3. Run: `eksctl utils write-kubeconfig --region us-east-2 --cluster operationcode-backend`
21-
4. Ensure `kubectl` is working by running `kubectl version`, refer to [Kubectl Install Docs](https://kubernetes.io/docs/tasks/tools/#kubectl)
31+
## License
32+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
2233

23-
Note: if there are issues refer to this [SO Post](https://stackoverflow.com/questions/55360666/kubernetes-kubectl-run-command-not-found)
24-
25-
5. Verify everything works: `kubectl get namespaces`
26-
27-
28-
## Licensing
29-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3034
Operation Code Infra is under the [MIT License](/LICENSE).

SETUP.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

kubernetes/README.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

kubernetes/argocd/README.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)