Skip to content

Commit 871e7e1

Browse files
Release/24.11.0 (#63)
* feat: add NOTE for Cognito setup * feat: integrate tpm * feat: move tasks from github to tpm * feat: update todo * feat: update todo * feat(pm): spill over to 24.11.0 * feat(aws): bump k8s to 1.31 * feat(aws): close 017 * feat: update README.md * feat: update todo * feat: v24.11.0
1 parent e6df67f commit 871e7e1

21 files changed

+392
-338
lines changed

.tln.conf

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,9 @@ const getTerraformOpts = (env) => {
113113
const i = env.TLN_CLOUDS_INIT?' --init':'';
114114
const p = env.TLN_CLOUDS_PLAN?' --plan':'';
115115
const a = env.TLN_CLOUDS_APPLY?' --apply':'';
116-
const aa = env.TLN_CLOUDS_AUTO_APPROVE?' -auto-approve':'';
117-
return `${i}${p}${a}${aa}`;
116+
const aa = env.TLN_CLOUDS_AUTO_APPROVE?' --auto-approve':'';
117+
const u = env.TLN_CLOUDS_UPGRADE?' --upgrade':'';
118+
return `${i}${p}${a}${aa}${u}`;
118119
}
119120

120121
const getConnectionOptions = (v, group, env) => {
@@ -216,11 +217,11 @@ sshuttle --dns${daemon} -vr ${script.env.TLN_CLOUDS_BASTION} 0/0 --ssh-cmd 'ssh$
216217
{ id: 'up', builder: async (tln, script) => {
217218
const opts = getTerraformOpts(script.env);
218219
script.set([`
219-
tln construct -- --backend cloud${opts} --layers provider --state project,provider
220-
tln construct -- --backend cloud${opts} --layers group --state project,provider,group
221-
tln construct -- --backend cloud${opts} --layers network,managed --state project,provider,group,env,layer
220+
#tln construct -- --backend cloud${opts} --layers provider --state project,provider
221+
#tln construct -- --backend cloud${opts} --layers group --state project,provider,group
222+
#tln construct -- --backend cloud${opts} --layers network,managed --state project,provider,group,env,layer
222223
${script.env.TLN_CLOUDS_CI ? '#tln sshuttle -- --bastion \$(tln get-bastion) --deamon' : ''}
223-
tln construct -- --backend cloud${opts} --layers app --state project,provider,group,env,layer
224+
#tln construct -- --backend cloud${opts} --layers app --state project,provider,group,env,layer
224225
`].concat(
225226
(script.env.TF_VAR_tenant_id) ? [
226227
`tln construct -- --backend cloud${opts} --layers tenant --state project,provider,group,env,tenant --tenant ${script.env.TF_VAR_tenant_id}`
@@ -234,13 +235,13 @@ tln construct -- --backend cloud${opts} --layers app --state project,provider,gr
234235
`${script.env.TLN_CLOUDS_CI ? '#tln sshuttle -- --bastion \$(tln get-bastion) --deamon' : ''}`,
235236
].concat((
236237
(script.env.TF_VAR_tenant_id) ? [
237-
`tln deconstruct -- --backend cloud${opts} --layers tenant --state project,provider,group,env,tenant --tenant ${script.env.TF_VAR_tenant_id}`,
238+
`#tln deconstruct -- --backend cloud${opts} --layers tenant --state project,provider,group,env,tenant --tenant ${script.env.TF_VAR_tenant_id}`,
238239
]:[]
239240
)).concat([`
240-
tln deconstruct -- --backend cloud${opts} --layers app --state project,provider,group,env,layer
241+
#tln deconstruct -- --backend cloud${opts} --layers app --state project,provider,group,env,layer
241242
tln deconstruct -- --backend cloud${opts} --layers network,managed --state project,provider,group,env,layer
242-
tln deconstruct -- --backend cloud${opts} --layers group --state project,provider,group
243-
tln deconstruct -- --backend cloud${opts} --layers provider --state project,provider
243+
#tln deconstruct -- --backend cloud${opts} --layers group --state project,provider,group
244+
#tln deconstruct -- --backend cloud${opts} --layers provider --state project,provider
244245
`]
245246
));
246247
}

.todo

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
project:
2+
id: tln-clouds
3+
name: Talan Clouds
4+
description: Cloud Agnostic IaC based SaaS skeleton
5+
6+
team:
7+
vlad.k:
8+
email: vladislav.kurmaz@gmail.com
9+
name: Vladyslav Kurmaz
10+
fte: 1
11+
12+
timeline:
13+
- name: v24.11.1
14+
date: 2024-11-15 12:00:00 GMT+0200
15+
- name: v24.11.0
16+
date: 2024-11-08 12:00:00 GMT+0200
17+
18+
tasks: |
19+
[-:020:v24.11.1] Ad shared component with bastion, cognito, dbs #aws @vlad.k
20+
[-:019:v24.11.1] Move Cognito user pool, app, idp to shared area #aws @vlad.k
21+
[-:018:v24.11.1] Add DB instance creation template at Tenant layer #aws @vlad.k
22+
[+:017:v24.11.0] Pin version for cognito_pre_auth_function -> 7.13.0 #aws @vlad.k
23+
[-:016:v24.11.1] Add construct/deconstruct into CI/CD @vlad.k
24+
[+:015:v24.11.0] Bump versions #aws @vlad.k
25+
[-:014] Add "coming-soon" AWS Amplify at group layer #aws @vlad.k
26+
[-:013] Add template for db-per-tenant #aws @vlad.k
27+
[-:012] Add node autoscaler #aws @vlad.k
28+
[-:011] Add pod autoscaler #aws @vlad.k
29+
[-:010] Add terraform refresh command @vlad.k
30+
[-:009] Use provided region to access k8s cluster #aws #bug @vlad.k
31+
[-:008] Troubleshoot Nginx X-Forwarded-* headers #aws [](srs/nlb) #bug @vlad.k
32+
[-:007] Add parameters for maintenance window for RDS #aws @vlad.k
33+
[-:006] Multiple domains at group layer #aws @vlad.k
34+
[-:005] .gitsibtrees is not modified if git subtree pull is failed #bug @vlad.k
35+
[-:004] Wait for k8s to destroy before VPC can be deleted #do @vlad.k
36+
[-:003] Infrastructure skeleton #gcp @vlad.k
37+
[-] Resource group, networks, bastion
38+
[-] K8s
39+
[-:002] Infrastructure skeleton #azure @vlad.k
40+
[-] Resource group, networks, bastion
41+
[-] K8s
42+
[-:001] Bastion enhancement #do @vlad.k
43+
44+
srs:
45+
nlb: |
46+
https://github.com/kubernetes/ingress-nginx/issues/5051
47+
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/#proxy-protocol-v2
48+
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-proxy-protocol
49+
https://www.scaleway.com/en/docs/tutorials/proxy-protocol-v2-load-balancer/?ref=martysweet.co.uk#configuring-proxy-protocol-for-ingress-nginx
50+
https://www.martysweet.co.uk/aws-nlb-and-ip-preservation/
51+
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html
52+
https://repost.aws/questions/QUuOlh5w61Tuij63OiAuMpOw/could-not-see-aws-lb-classic-x-forwarded-for-header

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Description
2-
## Cloud agnostic IaC based SaaS skeleton.
2+
## Cloud Agnostic IaC based SaaS Skeleton.
33
![Infrastructure Instance](ii.png)
44

55
## Features

aws/.tln.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module.exports = {
88
},
99
dotenvs: async (tln) => { if (fs.existsSync('.env')) return ['.env']; else return [] },
1010
inherits: async (tln) => [],
11-
depends: async (tln) => ['kubectl-1.30.2', 'helm-3.15.2', 'terraform-1.9.1', 'aws-cli-2.17.9'],
11+
depends: async (tln) => ['kubectl-1.31.0', 'helm-3.16.2', 'terraform-1.9.8', 'aws-cli-2.19.1'],
1212
steps: async (tln) => [
1313
{ id: 'ls-ec2', builder: async (tln, script) => {
1414
script.set(['aws ec2 describe-instances --output yaml --query "Reservations[*].Instances[*].{Instance:InstanceId}"']);

aws/app/.terraform.lock.hcl

Lines changed: 75 additions & 74 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aws/app/postgres.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module "rds_pg_security_group" {
22
source = "terraform-aws-modules/security-group/aws"
3-
version = "5.1.2"
3+
version = "5.2.0"
44

55
name = "${module.shared.prefix_env}-pg-database-sg"
66
vpc_id = data.aws_vpc.primary.id

aws/app/versions.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
terraform {
2-
required_version = "= 1.9.1"
2+
required_version = "= 1.9.8"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = "5.43.0"
7+
version = "5.74.0"
88
}
99
postgresql = {
1010
source = "cyrilgdn/postgresql"
11-
version = "1.22.0"
11+
version = "1.24.0"
1212
}
1313
kubernetes = {
1414
source = "hashicorp/kubernetes"
15-
version = "2.27.0"
15+
version = "2.33.0"
1616
}
1717
helm = {
1818
source = "hashicorp/helm"
19-
version = "2.13.0"
19+
version = "2.16.1"
2020
}
2121
}
2222
}

0 commit comments

Comments
 (0)