11# aws-serverless-github-deploy
22
3- ## setup roles for ci
3+ ** Terraform + GitHub Actions for AWS serverless deployments.**
4+ Lambda + API Gateway with CodeDeploy rollouts and provisioned concurrency controls — driven by clean module variables and ` just ` recipes.
5+
6+ ---
7+
8+ ## 🚀 setup roles for ci
49
510``` sh
611just tg ci aws/oidc apply
712just tg dev aws/oidc apply
813just tg prod aws/oidc apply
914```
1015
11- ## local plan some infra
16+ ## 🛠️ local plan some infra
1217
1318Given a terragrunt file is found at ` infra/live/dev/aws/api/terragrunt.hcl `
1419
1520``` sh
1621just tg dev aws/api plan
1722```
1823
19- ## types of lambda provisioned concurrency
24+ ## ⚙️ types of lambda provisioned concurrency
2025
2126``` hcl
2227module "lambda_example" {
@@ -26,7 +31,7 @@ module "lambda_example" {
2631}
2732```
2833
29- #### [ default] No provisioned lambdas
34+ #### ✅ [ default] No provisioned lambdas
3035- use case: background processes
3136- we can handle an initial lag while lambda warms up/boots
3237``` hcl
@@ -35,7 +40,7 @@ provisioned_config = {
3540}
3641```
3742
38- #### X number of provisioned lambdas
43+ #### 🔒 X number of provisioned lambdas
3944- use case: high predictable usage
4045- we never want lag due to warm up and can predict traffic
4146``` hcl
@@ -44,7 +49,7 @@ provisioned_config = {
4449}
4550```
4651
47- #### Scale provisioning when usage exceeds % tolerance
52+ #### 📈 Scale provisioning when usage exceeds % tolerance
4853- use case: react to traffic i.e. api backend
4954- limit the cost with autoscale.max
5055- ensure minimal concurrency (no cold starts) with autoscale.min
@@ -61,7 +66,7 @@ provisioned_config = {
6166}
6267```
6368
64- ## types of lambda deploy
69+ ## 🚦 types of lambda deploy
6570
6671``` hcl
6772module "lambda_example" {
@@ -71,7 +76,7 @@ module "lambda_example" {
7176}
7277```
7378
74- #### [ default] All at once (fastest):
79+ #### ⚡ [ default] All at once (fastest):
7580
7681- use case: background processes
7782``` hcl
@@ -80,7 +85,7 @@ deployment_config = {
8085}
8186```
8287
83- #### canary deployment:
88+ #### 🐤 canary deployment:
8489
8590- use case: api or service serving traffic
8691- incrementally rolls out new version to 10% of lambdas and rolls back if errors detected. If not goes to 100%.
@@ -93,7 +98,7 @@ deployment_config = {
9398}
9499```
95100
96- #### linear deployment:
101+ #### 📶 linear deployment:
97102
98103- use case: api or service serving traffic
99104- checks for lambda health on 10% of lambdas and rolls back if errors detected
0 commit comments