///|
fn main raise {
let context = @json.parse(
"{\"service\":\"catalog\",\"regions\":[\"east\",\"west\"],\"replicas\":3}",
)
let template = @json.parse(
"{\"$map\":{\"$eval\":\"regions\"},\"each(region)\":{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"name\":\"${service}-${region}\"},\"spec\":{\"replicas\":{\"$eval\":\"replicas\"},\"template\":{\"spec\":{\"containers\":[{\"name\":\"${service}\",\"image\":\"registry/${service}:1.0\",\"env\":[{\"name\":\"REGION\",\"value\":\"${region}\"}]}]}}}}}",
)
let output = @moonjsone.render(template, context)
println(output.stringify())
}