TODO: image field is not pre-evaluated (not a huge deal) TODO: allow dynamic fields -- in.cue -- key: "app01" manifests: [ { deployment: #map: [string]: {name: string, image: string, desc: string} deployment: #map: "\(key)": name: "app01" }, { deployment: #map: app01: image: "image01" // TODO: allow // deployment: #map: "\("app03")": image: "image01" }, ] // unify results: _ for _, manifest in manifests { results: manifest } -- out/eval/stats -- Leaks: 0 Freed: 22 Reused: 15 Allocs: 7 Retain: 0 Unifications: 22 Conjuncts: 38 Disjuncts: 22 -- out/eval -- (struct){ key: (string){ "app01" } manifests: (#list){ 0: (struct){ deployment: (struct){ #map: (#struct){ app01: (#struct){ name: (string){ "app01" } image: (string){ string } desc: (string){ string } } } } } 1: (struct){ deployment: (struct){ #map: (#struct){ app01: (#struct){ image: (string){ "image01" } } } } } } results: (struct){ deployment: (struct){ #map: (#struct){ app01: (#struct){ image: (string){ "image01" } name: (string){ "app01" } desc: (string){ string } } } } } } -- out/compile -- --- in.cue { key: "app01" manifests: [ { deployment: { #map: { [string]: { name: string image: string desc: string } } } deployment: { #map: { "\(〈4;key〉)": { name: "app01" } } } }, { deployment: { #map: { app01: { image: "image01" } } } }, ] results: _ for _, manifest in 〈0;manifests〉 { results: 〈1;manifest〉 } }