You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**lambdas**|6 Lambda functions for alerts, cost reporting, compliance, cleanup|
39
+
|**lambdas**|11 Lambda functions for alerts, cost reporting, compliance, budget enforcement, resource tagging, team provisioning|
40
40
|**identity**| Cognito user pools (internal + external). Internal pool connected to Google IdP. Identity Center is in `terraform/org/` (deployed) |
41
41
42
42
### Reusable Modules (`terraform/modules/`)
43
43
44
-
Twelve Terraform modules that app repos source via `git::` URLs. The key one is `app-stack`, the golden path module that reads `app.yaml` and creates all infra for a service (ECR, ECS service, ALB routing, IAM role, optional S3/DynamoDB/SQS/Secrets Manager).
44
+
Twelve Terraform modules that app repos source via `git::` URLs. CI generates expanded Terraform from `app.yaml` using `expand-modules.py` + `registry.py`. Supported resources: ECR, ECS service, ALB routing, IAM role (configurable for ECS/EC2/Lambda), S3, DynamoDB, RDS PostgreSQL, SQS, Secrets Manager. Cross-service access is auto-wired via `access_policy_json` outputs.
45
45
46
46
### Reusable Workflows (`.github/workflows/`)
47
47
@@ -60,11 +60,16 @@ App repos call `javaBin/platform/.github/workflows/javabin.yml` as their CI entr
60
60
| Function | Trigger | Purpose |
61
61
|----------|---------|---------|
62
62
|`slack-alert`| SNS subscription | Routes security/cost events to Slack with LLM analysis |
|`password-set`| Function URL | Self-service password set for new hero accounts |
68
73
69
74
## How Apps Get CI/CD
70
75
@@ -91,6 +96,28 @@ The [registry](https://github.com/javaBin/registry) serves two purposes:
91
96
92
97
Changes to `groups/` trigger provisioning: Google Workspace account creation, group membership sync, email aliases, and Cognito/Identity Center sync where configured. Heroes are synced from a yearly Google Sheets application process.
93
98
99
+
## Tag Schema
100
+
101
+
Every AWS resource gets 7 tags — 5 static (Terraform-managed) and 2 dynamic (auto-applied by the resource-tagger Lambda):
0 commit comments