Paavo Pokkinen
03/15/2026, 7:55 AM"{{.vars.namespace}}-{{.vars.tenant}}-{{.vars.environment}}-{{.vars.stage}}-{{.vars.layer}}"
This leads to stack names such as:
mp-plat-gcp-non-prod-meta
mp-plat-gcp-non-prod-network
mp-plat-gcp-non-prod-cluster
mp-plat-gcp-shared-meta
So far in the environment I don’t have indication of Cloud region, only the vendor. Not sure if I should have it? Environments will be only “prod”/“non-prod” split, we’ll handle app specific staging, dynamic preview envs etc. with Argo-CD inside the clusters.
I’m heavily utilizing Google’s excellent terraform modules for project creation, shared vpc and K8S cluster management. These are already on quite high level / opinionated, so components right now are really lightweight.
I’ve split layers like this:
• meta: things like org settings, folder creation and project creation
◦ why: my thinking is project creation should be split off from actual resource stacks, project rarely if at all changes after creation, and it can be slow to validate everything
• network -> shared VPC stuff
• cluster -> GKE cluster creation
• clsuter-addons -> what necessary stuff goes into Kube cluster, like Argo-CD
As to applications, I don’t know yet. We’ll probably aim to have multi-app clusters, apps could be deployed totally outside of Atmos as well. Definitely considering Argo-CD there, which I’ve had good experiences.
Any feedback would be appreciated here! Am I having too small stacks?Paavo Pokkinen
03/15/2026, 7:55 AMPaavo Pokkinen
03/15/2026, 7:56 AMPaavo Pokkinen
03/15/2026, 8:01 AMgcp-euw1 instead of just gcp. This gives you mp-plat-gcp-euw1-non-prod-network. It’s a bit longer but unambiguous.
Option B — add a dedicated region segment: Change the template to {{.vars.namespace}}-{{.vars.tenant}}-{{.vars.environment}}-{{.vars.region}}-{{.vars.stage}}-{{.vars.layer}}. This is cleaner semantically but adds another segment.
Not sure if option B is too unwieldy, and some resources might be global anyway, like org folders. Of course I could then just encode it as “global”.Erik Osterman (Cloud Posse)
03/15/2026, 7:42 PMErik Osterman (Cloud Posse)
03/15/2026, 7:43 PMErik Osterman (Cloud Posse)
03/15/2026, 7:53 PMErik Osterman (Cloud Posse)
03/16/2026, 1:15 PMPaavo Pokkinen
03/17/2026, 11:39 AMErik Osterman (Cloud Posse)
03/17/2026, 4:40 PMErik Osterman (Cloud Posse)
03/17/2026, 4:41 PMErik Osterman (Cloud Posse)
03/17/2026, 4:41 PMErik Osterman (Cloud Posse)
03/17/2026, 4:42 PMPaavo Pokkinen
03/18/2026, 10:27 AMErik Osterman (Cloud Posse)
03/18/2026, 11:50 AMErik Osterman (Cloud Posse)
03/18/2026, 11:50 AMErik Osterman (Cloud Posse)
03/18/2026, 11:51 AMErik Osterman (Cloud Posse)
03/18/2026, 11:52 AM