cromega
12/12/2025, 9:35 AMoverseer:
db_subnets: !terraform.state services-network ".subnets[] | select(.group == ""overseer"") | .id"
and I get
Error: failed to set value at overseer.db_subnets: cannot navigate path: field is
not a map: path=[overseer db_subnets] field=overseer
I have identical subnet id queries elsewhere in the stack, no idea why this one specifically triggers something. if I replace the terraform state stuff with just "subnet-1234", it works. downgrading to 194 solves itErik Osterman (Cloud Posse)
12/12/2025, 12:48 PMcromega
12/12/2025, 12:48 PMErik Osterman (Cloud Posse)
12/12/2025, 12:49 PMAndriy Knysh (Cloud Posse)
12/12/2025, 2:51 PMatmos describe component <component> -s <stack> - this should throw the error you described
⢠Update the expression to db_subnets: !terraform.state services-network ".subnets[] | select(.group == ""overseer"")" and execute the same command
⢠Update the expression to db_subnets: !terraform.state services-network ".subnets[]" and execute the same command
please provide the results for overseer.db_subnets for all these cases
thank youAndriy Knysh (Cloud Posse)
12/12/2025, 3:24 PMoverseer:
db_subnets: ......Andriy Knysh (Cloud Posse)
12/12/2025, 3:25 PM!terraform.state services-network ".subnets[] | select(.group == ""overseer"") | .id", it can't merge two diff data types (e.g. list and map, or map and string)cromega
12/12/2025, 3:45 PMoverseer: ~cromega
12/12/2025, 3:47 PMoverseer: ~ from the child component then atmos loads fineAndriy Knysh (Cloud Posse)
12/12/2025, 3:47 PMterraform.state functions and declared inlineAndriy Knysh (Cloud Posse)
12/12/2025, 3:48 PMAndriy Knysh (Cloud Posse)
12/12/2025, 3:49 PMoverseer: {}cromega
12/12/2025, 3:53 PMAndriy Knysh (Cloud Posse)
12/12/2025, 3:54 PMnull, use
overseer: nullAndriy Knysh (Cloud Posse)
12/12/2025, 3:55 PMcromega
12/12/2025, 3:55 PMcromega
12/12/2025, 3:55 PMAndriy Knysh (Cloud Posse)
12/12/2025, 3:56 PMAndriy Knysh (Cloud Posse)
12/12/2025, 3:56 PMoverseer fields from the stacks must be the same data typeAndriy Knysh (Cloud Posse)
12/12/2025, 3:57 PMterraform.state (which is not 100% valid, we need to honor inheritance. e.g a map from a base component or stack should be deep-merged with a map returned from terraform.state)Erik Osterman (Cloud Posse)
12/12/2025, 4:27 PMnull with a map right?Andriy Knysh (Cloud Posse)
12/12/2025, 4:28 PMAndriy Knysh (Cloud Posse)
12/12/2025, 4:28 PMoverseer: ~ is def wrongAndriy Knysh (Cloud Posse)
12/12/2025, 4:29 PMterraform.state, but now it tries to deep-merge itErik Osterman (Cloud Posse)
12/12/2025, 4:29 PMErik Osterman (Cloud Posse)
12/12/2025, 4:29 PMcromega
12/12/2025, 4:30 PMcomponents:
terraform:
c1:
vars:
overseer:
db_subnets: !terraform.state services-network ".subnets[] | select(.group == ""overseer"") | .id"
c2:
metadata:
type: abstract
inherits: [c1]
vars:
overseer: ~
c3:
inherits: [c2]
c4:
inherits: [c2]
however, this one triggers no errors. I'm trying to figure out what else is at playAndriy Knysh (Cloud Posse)
12/12/2025, 4:32 PMoverseer: ~ toocromega
12/12/2025, 4:33 PMcromega
12/12/2025, 4:40 PMcromega
12/12/2025, 4:41 PMcomponents:
terraform:
c1:
vars:
some:
data: !terraform.state some-component some-output
c2:
metadata:
type: abstract
inherits: [c1]
vars:
some: ~
c3:
metadata:
inherits: [c2]
c4:
metadata:
inherits: [c2]cromega
12/12/2025, 4:41 PMAndriy Knysh (Cloud Posse)
12/12/2025, 4:42 PMAndriy Knysh (Cloud Posse)
12/12/2025, 4:42 PMcromega
12/12/2025, 4:43 PMError: failed to set value at some.data: cannot navigate path: field is not a
map: path=[some data] field=someAndriy Knysh (Cloud Posse)
12/12/2025, 4:45 PMErik Osterman (Cloud Posse)
12/12/2025, 4:59 PM