That is good, but why code all that up in YAML? This looks to me like a programming language with great efforts made to obfuscate the fact.
We've had 70 years to figure out what good programming language layout looks like. I think there is almost a consensus that it doesn't look like the linked code-wearing-a-fake-moustache .
Are people supposed to code these state machines using some sort of real language then translate it to YAML?
Yeah, I agree that YAML is not the best language for embedding a DSL, but in general GCP seems to have a preference for using YAML in its configuration languages.
I can imagine that the developers chose YAML based on its popularity elsewhere (especially in the CI/CD space), not its merits.
(Oh, and a belated disclaimer: I work for GCP but not on this product. All opinions are my own, obviously.)
i think the issue here is that this is code, not configuration. yaml is manageable to use as a configuration language, though as soon as you put jinja in it, it stops making sense - but this thing here, it's not even close.
We've had 70 years to figure out what good programming language layout looks like. I think there is almost a consensus that it doesn't look like the linked code-wearing-a-fake-moustache .
Are people supposed to code these state machines using some sort of real language then translate it to YAML?